Package | Description |
---|---|
org.sonar.java.bytecode.se | |
org.sonar.java.se | |
org.sonar.java.se.checks | |
org.sonar.java.se.constraint | |
org.sonar.java.se.symbolicvalues | |
org.sonar.java.se.xproc |
Modifier and Type | Class and Description |
---|---|
static class |
BytecodeEGWalker.StackValueCategoryConstraint
Because some instructions manipulate stack differently depending on the type of the value, we need this constraint to know category of the value
see https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-2.html#jvms-2.11.1 Table 2.11.1-B
|
Modifier and Type | Method and Description |
---|---|
Constraint |
BytecodeEGWalker.StackValueCategoryConstraint.copyOver(RelationalSymbolicValue.Kind kind) |
Modifier and Type | Method and Description |
---|---|
<T extends Constraint> |
ProgramState.getConstraint(SymbolicValue sv,
Class<T> domain) |
Modifier and Type | Method and Description |
---|---|
Constraint |
LearnedConstraint.constraint() |
Modifier and Type | Method and Description |
---|---|
ProgramState |
ProgramState.addConstraint(SymbolicValue symbolicValue,
Constraint constraint) |
ProgramState |
ProgramState.addConstraintTransitively(SymbolicValue symbolicValue,
Constraint constraint) |
List<SymbolicValue> |
ProgramState.getValuesWithConstraints(Constraint constraint) |
Modifier and Type | Method and Description |
---|---|
static Set<Flow> |
FlowComputation.flow(ExplodedGraph.Node currentNode,
Set<SymbolicValue> symbolicValues,
Predicate<Constraint> addToFlow,
Predicate<Constraint> terminateTraversal,
List<Class<? extends Constraint>> domains,
Set<Symbol> symbols) |
static Set<Flow> |
FlowComputation.flow(ExplodedGraph.Node currentNode,
Set<SymbolicValue> symbolicValues,
Predicate<Constraint> addToFlow,
Predicate<Constraint> terminateTraversal,
List<Class<? extends Constraint>> domains,
Set<Symbol> symbols) |
static Set<Flow> |
FlowComputation.flow(ExplodedGraph.Node currentNode,
Set<SymbolicValue> symbolicValues,
Predicate<Constraint> addToFlow,
Predicate<Constraint> terminateTraversal,
List<Class<? extends Constraint>> domains,
Set<Symbol> symbols) |
static Set<Flow> |
FlowComputation.flow(ExplodedGraph.Node currentNode,
SymbolicValue currentVal,
List<Class<? extends Constraint>> domains) |
static Set<Flow> |
FlowComputation.flow(ExplodedGraph.Node currentNode,
SymbolicValue currentVal,
List<Class<? extends Constraint>> domains,
Symbol trackSymbol) |
static Set<Flow> |
FlowComputation.flowWithoutExceptions(ExplodedGraph.Node currentNode,
SymbolicValue currentVal,
Predicate<Constraint> addToFlow,
List<Class<? extends Constraint>> domains) |
static Set<Flow> |
FlowComputation.flowWithoutExceptions(ExplodedGraph.Node currentNode,
SymbolicValue currentVal,
Predicate<Constraint> addToFlow,
List<Class<? extends Constraint>> domains) |
static Set<Flow> |
FlowComputation.flowWithoutExceptions(ExplodedGraph.Node currentNode,
SymbolicValue currentVal,
Predicate<Constraint> addToFlow,
Predicate<Constraint> terminateTraversal,
List<Class<? extends Constraint>> domains) |
static Set<Flow> |
FlowComputation.flowWithoutExceptions(ExplodedGraph.Node currentNode,
SymbolicValue currentVal,
Predicate<Constraint> addToFlow,
Predicate<Constraint> terminateTraversal,
List<Class<? extends Constraint>> domains) |
static Set<Flow> |
FlowComputation.flowWithoutExceptions(ExplodedGraph.Node currentNode,
SymbolicValue currentVal,
Predicate<Constraint> addToFlow,
Predicate<Constraint> terminateTraversal,
List<Class<? extends Constraint>> domains) |
ProgramState |
ProgramState.removeConstraintsOnDomain(SymbolicValue sv,
Class<? extends Constraint> domain) |
Constructor and Description |
---|
LearnedConstraint(SymbolicValue sv,
Constraint constraint) |
Modifier and Type | Class and Description |
---|---|
class |
CustomUnclosedResourcesCheck.CustomResourceConstraint |
static class |
DivisionByZeroCheck.ZeroConstraint |
static class |
LocksNotUnlockedCheck.LockConstraint |
static class |
StreamConsumedCheck.StreamPipelineConstraint |
static class |
UnclosedResourcesCheck.ResourceConstraint |
Modifier and Type | Method and Description |
---|---|
Constraint |
DivisionByZeroCheck.ZeroConstraint.copyOver(RelationalSymbolicValue.Kind kind) |
Constraint |
DivisionByZeroCheck.ZeroConstraint.inverse() |
Modifier and Type | Method and Description |
---|---|
boolean |
DivisionByZeroCheck.ZeroConstraint.isValidWith(Constraint constraint) |
Modifier and Type | Class and Description |
---|---|
class |
BooleanConstraint |
class |
ObjectConstraint |
class |
TypedConstraint |
Modifier and Type | Method and Description |
---|---|
Constraint |
ObjectConstraint.copyOver(RelationalSymbolicValue.Kind kind) |
default Constraint |
Constraint.copyOver(RelationalSymbolicValue.Kind kind)
Return constraint which should be applied to the rhs of the relation,
if this constraint is set on the lhs of the relation.
|
Constraint |
BooleanConstraint.copyOver(RelationalSymbolicValue.Kind kind) |
Constraint |
ConstraintsByDomain.get(Class<? extends Constraint> domain) |
Constraint |
ObjectConstraint.inverse() |
default Constraint |
Constraint.inverse() |
Modifier and Type | Method and Description |
---|---|
Stream<Class<? extends Constraint>> |
ConstraintsByDomain.domains() |
Stream<Constraint> |
ConstraintsByDomain.stream() |
Modifier and Type | Method and Description |
---|---|
boolean |
ConstraintsByDomain.hasConstraint(Constraint constraint) |
boolean |
ObjectConstraint.isValidWith(Constraint constraint) |
default boolean |
Constraint.isValidWith(Constraint constraint) |
boolean |
BooleanConstraint.isValidWith(Constraint constraint) |
ConstraintsByDomain |
ConstraintsByDomain.put(Constraint constraint) |
Modifier and Type | Method and Description |
---|---|
void |
ConstraintsByDomain.forEach(BiConsumer<Class<? extends Constraint>,Constraint> action) |
void |
ConstraintsByDomain.forEach(BiConsumer<Class<? extends Constraint>,Constraint> action) |
Constraint |
ConstraintsByDomain.get(Class<? extends Constraint> domain) |
ConstraintsByDomain |
ConstraintsByDomain.remove(Class<? extends Constraint> domain) |
Modifier and Type | Method and Description |
---|---|
List<ProgramState> |
SymbolicValue.setConstraint(ProgramState programState,
Constraint constraint) |
protected List<ProgramState> |
SymbolicValue.setConstraint(ProgramState state,
Constraint constraint,
Set<RelationalSymbolicValue> knownRelations) |
protected List<ProgramState> |
RelationalSymbolicValue.setConstraint(ProgramState initialProgramState,
Constraint constraint,
Set<RelationalSymbolicValue> knownRelations) |
Modifier and Type | Method and Description |
---|---|
Set<Flow> |
MethodYield.flow(List<Integer> parameterIndices,
List<Class<? extends Constraint>> domains) |
Set<Flow> |
ExceptionalCheckBasedYield.flow(List<Integer> parameterIndices,
List<Class<? extends Constraint>> domains) |
Copyright © 2012–2017 SonarSource. All rights reserved.