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 classExplodedGraphWalker.ExplodedGraphTooBigExceptionstatic classExplodedGraphWalker.ExplodedGraphWalkerFactoryThis 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 classExplodedGraphWalker.MaximumStartingStatesExceptionstatic classExplodedGraphWalker.MaximumStepsReachedExceptionstatic classExplodedGraphWalker.TooManyNestedBooleanStatesException
-
Field Summary
Fields Modifier and Type Field Description static MethodMatcherCollectionEQUALS_METHODSstatic intMAX_NESTED_BOOLEAN_STATES
-
Constructor Summary
Constructors Modifier Constructor Description protectedExplodedGraphWalker(List<SECheck> seChecks, BehaviorCache behaviorCache, Sema semanticModel)ExplodedGraphWalker(BehaviorCache behaviorCache, Sema semanticModel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddExceptionalYield(SymbolicValue target, ProgramState exceptionalState, String exceptionFullyQualifiedName, SECheck check)voidclearStack(Tree tree)voidenqueue(ProgramPoint programPoint, ProgramState programState)voidenqueue(ProgramPoint newProgramPoint, ProgramState programState, boolean exitPath)voidenqueue(ProgramPoint newProgramPoint, ProgramState programState, boolean exitPath, MethodYield methodYield)voidenqueue(ProgramPoint programPoint, ProgramState programState, MethodYield methodYield)protected intmaxSteps()protected MethodBehaviorpeekMethodBehavior(Symbol.MethodSymbol symbol)MethodBehaviorvisitMethod(MethodTree tree)MethodBehaviorvisitMethod(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, Sema semanticModel)
-
ExplodedGraphWalker
protected ExplodedGraphWalker(List<SECheck> seChecks, BehaviorCache behaviorCache, Sema 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)
-
-