Package proguard.evaluation
Class PartialEvaluator.Builder
- java.lang.Object
-
- proguard.evaluation.PartialEvaluator.Builder
-
- Enclosing class:
- PartialEvaluator
public static class PartialEvaluator.Builder extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PartialEvaluator
build()
static PartialEvaluator.Builder
create()
PartialEvaluator.Builder
disablePrettyPrinting()
Disable pretty printing of errors.PartialEvaluator.Builder
setBranchTargetFinder(BranchTargetFinder branchTargetFinder)
The utility class that will find all branches.PartialEvaluator.Builder
setBranchUnit(BasicBranchUnit branchUnit)
The branch unit that will handle all branches.PartialEvaluator.Builder
setCallingInstructionBlockStack(java.util.Stack<PartialEvaluator.InstructionBlock> callingInstructionBlockStack)
the stack of instruction blocks to be evaluated.PartialEvaluator.Builder
setEvaluateAllCode(boolean evaluateAllCode)
Specifies whether all casts, branch targets, and exceptionhandlers should be evaluated, even if they are unnecessary or unreachable.PartialEvaluator.Builder
setExtraInstructionVisitor(InstructionVisitor extraInstructionVisitor)
an optional extra visitor for all instructions right before they are executed.PartialEvaluator.Builder
setInvocationUnit(InvocationUnit invocationUnit)
The invocation unit that will handle all communication with other fields and methods.PartialEvaluator.Builder
setPrettyPrinting(int prettyInstructionBuffered)
Specifies how many instructions should be considered in the context of a pretty message.PartialEvaluator.Builder
setStateTracker(PartialEvaluatorStateTracker stateTracker)
PartialEvaluator.Builder
setValueFactory(ValueFactory valueFactory)
the value factory that will create all values during evaluation.PartialEvaluator.Builder
stopAnalysisAfterNEvaluations(int stopAnalysisAfterNEvaluations)
The analysis of one method will forcibly stop (throwing a ExcessiveComplexityException) after this many evaluations of a single instruction.
-
-
-
Method Detail
-
create
public static PartialEvaluator.Builder create()
-
build
public PartialEvaluator build()
-
setStateTracker
public PartialEvaluator.Builder setStateTracker(PartialEvaluatorStateTracker stateTracker)
-
setValueFactory
public PartialEvaluator.Builder setValueFactory(ValueFactory valueFactory)
the value factory that will create all values during evaluation.
-
setInvocationUnit
public PartialEvaluator.Builder setInvocationUnit(InvocationUnit invocationUnit)
The invocation unit that will handle all communication with other fields and methods.
-
setEvaluateAllCode
public PartialEvaluator.Builder setEvaluateAllCode(boolean evaluateAllCode)
Specifies whether all casts, branch targets, and exceptionhandlers should be evaluated, even if they are unnecessary or unreachable.
-
setPrettyPrinting
public PartialEvaluator.Builder setPrettyPrinting(int prettyInstructionBuffered)
Specifies how many instructions should be considered in the context of a pretty message. When <= 0, no pretty printing is applied.
-
disablePrettyPrinting
public PartialEvaluator.Builder disablePrettyPrinting()
Disable pretty printing of errors.
-
setExtraInstructionVisitor
public PartialEvaluator.Builder setExtraInstructionVisitor(InstructionVisitor extraInstructionVisitor)
an optional extra visitor for all instructions right before they are executed.
-
setBranchUnit
public PartialEvaluator.Builder setBranchUnit(BasicBranchUnit branchUnit)
The branch unit that will handle all branches.
-
setBranchTargetFinder
public PartialEvaluator.Builder setBranchTargetFinder(BranchTargetFinder branchTargetFinder)
The utility class that will find all branches.
-
setCallingInstructionBlockStack
public PartialEvaluator.Builder setCallingInstructionBlockStack(java.util.Stack<PartialEvaluator.InstructionBlock> callingInstructionBlockStack)
the stack of instruction blocks to be evaluated.
-
stopAnalysisAfterNEvaluations
public PartialEvaluator.Builder stopAnalysisAfterNEvaluations(int stopAnalysisAfterNEvaluations)
The analysis of one method will forcibly stop (throwing a ExcessiveComplexityException) after this many evaluations of a single instruction.
-
-