public class SideEffectVisitor extends StandardInstructionVisitor
DataFlowRunner.cancel()
Constructor and Description |
---|
SideEffectVisitor() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
isModificationAllowed(DfaVariableValue variable)
Override this method to allow some variable modifications which do not count as side effects
|
DfaInstructionState[] |
visitAssign(AssignInstruction instruction,
DataFlowRunner runner,
DfaMemoryState memState) |
DfaInstructionState [] |
visitControlTransfer(ControlTransferInstruction instruction,
DataFlowRunner runner,
DfaMemoryState state) |
DfaInstructionState[] |
visitFlushFields(FlushFieldsInstruction instruction,
DataFlowRunner runner,
DfaMemoryState memState) |
DfaInstructionState[] |
visitFlushVariable(FlushVariableInstruction instruction,
DataFlowRunner runner,
DfaMemoryState memState) |
DfaInstructionState[] |
visitMethodCall(MethodCallInstruction instruction,
DataFlowRunner runner,
DfaMemoryState memState) |
beforeMethodCall, checkNotNullable, onTypeCast, popCall, processArrayAccess, processArrayStoreTypeMismatch, reportMutabilityViolation, visitArrayAccess, visitBinop, visitCheckNotNull, visitConvertPrimitive, visitEscapeInstruction, visitInstanceof, visitMethodReference, visitNot, visitPush, visitTypeCast
beforeConditionalJump, beforeExpressionPush, beforeMethodReferenceResultPush, checkReturnValue, flushArrayOnUnknownAssignment, nextInstruction, visitBox, visitClosureInstruction, visitConditionalGoto, visitEndOfInitializer, visitObjectOfInstruction, visitResultOf, visitUnwrapField
protected boolean isModificationAllowed(DfaVariableValue variable)
variable
- variable to testpublic DfaInstructionState[] visitFlushFields(FlushFieldsInstruction instruction, DataFlowRunner runner, DfaMemoryState memState)
visitFlushFields
in class InstructionVisitor
public DfaInstructionState[] visitFlushVariable(FlushVariableInstruction instruction, DataFlowRunner runner, DfaMemoryState memState)
visitFlushVariable
in class InstructionVisitor
public DfaInstructionState [] visitControlTransfer(ControlTransferInstruction instruction, DataFlowRunner runner, DfaMemoryState state)
visitControlTransfer
in class InstructionVisitor
public DfaInstructionState[] visitMethodCall(MethodCallInstruction instruction, DataFlowRunner runner, DfaMemoryState memState)
visitMethodCall
in class StandardInstructionVisitor
public DfaInstructionState[] visitAssign(AssignInstruction instruction, DataFlowRunner runner, DfaMemoryState memState)
visitAssign
in class StandardInstructionVisitor