public class DefiniteAssignmentAnalysis
extends java.lang.Object
| Constructor and Description |
|---|
DefiniteAssignmentAnalysis(DecompilerContext context,
Statement rootStatement) |
DefiniteAssignmentAnalysis(Statement rootStatement,
com.strobel.functions.Function<AstNode,ResolveResult> resolver) |
| Modifier and Type | Method and Description |
|---|---|
void |
analyze(java.lang.String variable) |
void |
analyze(java.lang.String variable,
DefiniteAssignmentStatus initialStatus) |
protected java.lang.Boolean |
evaluateCondition(Expression e) |
protected ResolveResult |
evaluateConstant(Expression e) |
DefiniteAssignmentStatus |
getBeforeLoopCondition(Statement statement) |
DefiniteAssignmentStatus |
getStatusAfter(Statement statement) |
DefiniteAssignmentStatus |
getStatusBefore(Statement statement) |
java.util.List<IdentifierExpression> |
getUnassignedVariableUses() |
boolean |
isPotentiallyAssigned() |
void |
setAnalyzedRange(Statement start,
Statement end) |
void |
setAnalyzedRange(Statement start,
Statement end,
boolean startInclusive,
boolean endInclusive) |
public DefiniteAssignmentAnalysis(DecompilerContext context, Statement rootStatement)
public DefiniteAssignmentAnalysis(Statement rootStatement, com.strobel.functions.Function<AstNode,ResolveResult> resolver)
public java.util.List<IdentifierExpression> getUnassignedVariableUses()
public void setAnalyzedRange(Statement start, Statement end, boolean startInclusive, boolean endInclusive)
public void analyze(java.lang.String variable)
public void analyze(java.lang.String variable,
DefiniteAssignmentStatus initialStatus)
public boolean isPotentiallyAssigned()
public DefiniteAssignmentStatus getStatusBefore(Statement statement)
public DefiniteAssignmentStatus getStatusAfter(Statement statement)
public DefiniteAssignmentStatus getBeforeLoopCondition(Statement statement)
protected ResolveResult evaluateConstant(Expression e)
protected java.lang.Boolean evaluateCondition(Expression e)