Package proguard.analysis.cpa.jvm.util
Class CfaUtil
- java.lang.Object
-
- proguard.analysis.cpa.jvm.util.CfaUtil
-
public class CfaUtil extends java.lang.Object
This is a util class for creatingCfa
s.
-
-
Constructor Summary
Constructors Constructor Description CfaUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static void
addInterproceduralEdgesToCfa(JvmCfa cfa, CallGraph callGraph)
Adds interprocedural arcs to the given CFA from the call graph.static JvmCfa
createInterproceduralCfa(ClassPool programClassPool)
Create an interprocedural CFA from the given program class pool.static JvmCfa
createInterproceduralCfa(ClassPool programClassPool, CallGraph callGraph)
Create an interprocedural CFA from the given program class pool and call graph.static JvmCfa
createInterproceduralCfa(ClassPool programClassPool, ClassPool libraryClassPool)
Create an interprocedural CFA from the given program class pool.static JvmCfa
createInterproceduralCfaFromClassPool(ClassPool programClassPool)
Deprecated.static JvmCfa
createInterproceduralCfaFromClassPool(ClassPool programClassPool, ClassPool libraryClassPool)
Deprecated.static JvmCfa
createInterproceduralCfaFromClassPoolAndCallGraph(ClassPool programClassPool, CallGraph callGraph)
Deprecated.static JvmCfa
createIntraproceduralCfa(ClassPool programClassPool)
Returns a CFA for the given program class pool.static JvmCfa
createIntraproceduralCfa(ClassPool programClassPool, java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute)
Returns a CFA for the given program class pool.static JvmCfa
createIntraproceduralCfaFromClassPool(ClassPool programClassPool)
Deprecated.static JvmCfa
createIntraproceduralCfaFromClassPool(ClassPool programClassPool, java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute)
Deprecated.static java.lang.String
toDot(JvmCfa cfa)
Produces a DOT graph representation of the given JVM control flow automaton.
-
-
-
Method Detail
-
createIntraproceduralCfaFromClassPool
@Deprecated public static JvmCfa createIntraproceduralCfaFromClassPool(ClassPool programClassPool)
Deprecated.Returns a CFA for the given program class pool.- Parameters:
programClassPool
- a program class pool
-
createIntraproceduralCfa
public static JvmCfa createIntraproceduralCfa(ClassPool programClassPool)
Returns a CFA for the given program class pool.- Parameters:
programClassPool
- a program class pool
-
createIntraproceduralCfaFromClassPool
@Deprecated public static JvmCfa createIntraproceduralCfaFromClassPool(ClassPool programClassPool, java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute)
Deprecated.Returns a CFA for the given program class pool. Allows to limit the number of processed code attributes withshouldAnalyzeNextCodeAttribute
.- Parameters:
programClassPool
- a program class pool
-
createIntraproceduralCfa
public static JvmCfa createIntraproceduralCfa(ClassPool programClassPool, java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute)
Returns a CFA for the given program class pool. Allows to limit the number of processed code attributes withshouldAnalyzeNextCodeAttribute
.- Parameters:
programClassPool
- a program class pool
-
addInterproceduralEdgesToCfa
public static void addInterproceduralEdgesToCfa(JvmCfa cfa, CallGraph callGraph)
Adds interprocedural arcs to the given CFA from the call graph.- Parameters:
cfa
- a CFAcallGraph
- a call graph
-
createInterproceduralCfaFromClassPoolAndCallGraph
@Deprecated public static JvmCfa createInterproceduralCfaFromClassPoolAndCallGraph(ClassPool programClassPool, CallGraph callGraph)
Deprecated.Create an interprocedural CFA from the given program class pool and call graph.- Parameters:
programClassPool
- a program class poolcallGraph
- a call graph
-
createInterproceduralCfa
public static JvmCfa createInterproceduralCfa(ClassPool programClassPool, CallGraph callGraph)
Create an interprocedural CFA from the given program class pool and call graph.- Parameters:
programClassPool
- a program class poolcallGraph
- a call graph
-
createInterproceduralCfaFromClassPool
@Deprecated public static JvmCfa createInterproceduralCfaFromClassPool(ClassPool programClassPool)
Deprecated.Create an interprocedural CFA from the given program class pool.- Parameters:
programClassPool
- a program class pool
-
createInterproceduralCfa
public static JvmCfa createInterproceduralCfa(ClassPool programClassPool)
Create an interprocedural CFA from the given program class pool.- Parameters:
programClassPool
- a program class pool
-
createInterproceduralCfaFromClassPool
@Deprecated public static JvmCfa createInterproceduralCfaFromClassPool(ClassPool programClassPool, ClassPool libraryClassPool)
Deprecated.Create an interprocedural CFA from the given program class pool.- Parameters:
programClassPool
- a program class pool
-
createInterproceduralCfa
public static JvmCfa createInterproceduralCfa(ClassPool programClassPool, ClassPool libraryClassPool)
Create an interprocedural CFA from the given program class pool.- Parameters:
programClassPool
- a program class pool
-
toDot
public static java.lang.String toDot(JvmCfa cfa)
Produces a DOT graph representation of the given JVM control flow automaton.
-
-