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 PartialEvaluatorbuild()static PartialEvaluator.Buildercreate()PartialEvaluator.BuilderdisablePrettyPrinting()Disable pretty printing of errors.PartialEvaluator.BuildersetBranchTargetFinder(BranchTargetFinder branchTargetFinder)The utility class that will find all branches.PartialEvaluator.BuildersetBranchUnit(BasicBranchUnit branchUnit)The branch unit that will handle all branches.PartialEvaluator.BuildersetCallingInstructionBlockStack(java.util.Stack<PartialEvaluator.InstructionBlock> callingInstructionBlockStack)the stack of instruction blocks to be evaluated.PartialEvaluator.BuildersetEvaluateAllCode(boolean evaluateAllCode)Specifies whether all casts, branch targets, and exceptionhandlers should be evaluated, even if they are unnecessary or unreachable.PartialEvaluator.BuildersetExtraInstructionVisitor(InstructionVisitor extraInstructionVisitor)an optional extra visitor for all instructions right before they are executed.PartialEvaluator.BuildersetInvocationUnit(InvocationUnit invocationUnit)The invocation unit that will handle all communication with other fields and methods.PartialEvaluator.BuildersetPrettyPrinting(int prettyInstructionBuffered)Specifies how many instructions should be considered in the context of a pretty message.PartialEvaluator.BuildersetStateTracker(PartialEvaluatorStateTracker stateTracker)PartialEvaluator.BuildersetValueFactory(ValueFactory valueFactory)the value factory that will create all values during evaluation.PartialEvaluator.BuilderstopAnalysisAfterNEvaluations(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.
-
-