Package org.sonar.java.se
Class ExplodedGraphWalker
- java.lang.Object
-
- org.sonar.java.se.ExplodedGraphWalker
-
public class ExplodedGraphWalker extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExplodedGraphWalker.ExplodedGraphTooBigException
static class
ExplodedGraphWalker.ExplodedGraphWalkerFactory
This class ensures that the SE checks are placed in the correct order for the ExplodedGraphWalker In addition, checks that are needed for a correct ExplodedGraphWalker processing are provided in all cases.static class
ExplodedGraphWalker.MaximumStepsReachedException
static class
ExplodedGraphWalker.TooManyNestedBooleanStatesException
-
Field Summary
Fields Modifier and Type Field Description static MethodMatcherCollection
EQUALS_METHODS
static int
MAX_NESTED_BOOLEAN_STATES
-
Constructor Summary
Constructors Modifier Constructor Description protected
ExplodedGraphWalker(List<SECheck> seChecks, BehaviorCache behaviorCache, SemanticModel semanticModel)
ExplodedGraphWalker(BehaviorCache behaviorCache, SemanticModel semanticModel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addExceptionalYield(SymbolicValue target, ProgramState exceptionalState, String exceptionFullyQualifiedName, SECheck check)
void
clearStack(Tree tree)
void
enqueue(ProgramPoint programPoint, ProgramState programState)
void
enqueue(ProgramPoint newProgramPoint, ProgramState programState, boolean exitPath)
void
enqueue(ProgramPoint newProgramPoint, ProgramState programState, boolean exitPath, MethodYield methodYield)
void
enqueue(ProgramPoint programPoint, ProgramState programState, MethodYield methodYield)
protected int
maxSteps()
protected MethodBehavior
peekMethodBehavior(Symbol.MethodSymbol symbol)
MethodBehavior
visitMethod(MethodTree tree)
MethodBehavior
visitMethod(MethodTree tree, MethodBehavior methodBehavior)
-
-
-
Field Detail
-
MAX_NESTED_BOOLEAN_STATES
public static final int MAX_NESTED_BOOLEAN_STATES
- See Also:
- Constant Field Values
-
EQUALS_METHODS
public static final MethodMatcherCollection EQUALS_METHODS
-
-
Constructor Detail
-
ExplodedGraphWalker
public ExplodedGraphWalker(BehaviorCache behaviorCache, SemanticModel semanticModel)
-
ExplodedGraphWalker
protected ExplodedGraphWalker(List<SECheck> seChecks, BehaviorCache behaviorCache, SemanticModel semanticModel)
-
-
Method Detail
-
visitMethod
public MethodBehavior visitMethod(MethodTree tree)
-
visitMethod
public MethodBehavior visitMethod(MethodTree tree, @Nullable MethodBehavior methodBehavior)
-
addExceptionalYield
public void addExceptionalYield(SymbolicValue target, ProgramState exceptionalState, String exceptionFullyQualifiedName, SECheck check)
-
clearStack
public void clearStack(Tree tree)
-
enqueue
public void enqueue(ProgramPoint programPoint, ProgramState programState)
-
enqueue
public void enqueue(ProgramPoint programPoint, ProgramState programState, @Nullable MethodYield methodYield)
-
enqueue
public void enqueue(ProgramPoint newProgramPoint, ProgramState programState, boolean exitPath)
-
enqueue
public void enqueue(ProgramPoint newProgramPoint, ProgramState programState, boolean exitPath, @Nullable MethodYield methodYield)
-
maxSteps
protected int maxSteps()
-
peekMethodBehavior
@CheckForNull protected MethodBehavior peekMethodBehavior(Symbol.MethodSymbol symbol)
-
-