public class OuterBreakContinueAndReturnReplacer extends JavaASTVisitor
| Modifier and Type | Class and Description |
|---|---|
private class |
OuterBreakContinueAndReturnReplacer.DefaultAction |
| Modifier and Type | Field and Description |
|---|---|
private Map<Label,ProgramVariable> |
breakFlags |
private Break |
breakOut |
protected static Boolean |
CHANGED |
private Map<Label,ProgramVariable> |
continueFlags |
private Stack<MethodFrame> |
frames |
private Stack<Label> |
labels |
private int |
loopAndSwitchCascadeDepth |
private StatementBlock |
result |
private ProgramVariable |
returnFlag |
private ProgramVariable |
returnValue |
private Stack<ExtList> |
stack |
services| Constructor and Description |
|---|
OuterBreakContinueAndReturnReplacer(StatementBlock block,
Iterable<Label> alwaysInnerLabels,
Label breakOutLabel,
Map<Label,ProgramVariable> breakFlags,
Map<Label,ProgramVariable> continueFlags,
ProgramVariable returnFlag,
ProgramVariable returnValue,
Services services) |
doAction, performActionOnAbstractProgramElement, performActionOnAllFields, performActionOnAllObjects, performActionOnArrayDeclaration, performActionOnArrayInitializer, performActionOnArrayLengthReference, performActionOnArrayReference, performActionOnAssert, performActionOnBinaryAnd, performActionOnBinaryAndAssignment, performActionOnBinaryNot, performActionOnBinaryOr, performActionOnBinaryOrAssignment, performActionOnBinaryXOr, performActionOnBinaryXOrAssignment, performActionOnBlockContract, performActionOnBooleanLiteral, performActionOnCatchAllStatement, performActionOnCharLiteral, performActionOnClassDeclaration, performActionOnClassInitializer, performActionOnComment, performActionOnCompilationUnit, performActionOnConditional, performActionOnConstructorDeclaration, performActionOnContextStatementBlock, performActionOnDivide, performActionOnDivideAssignment, performActionOnDLEmbeddedExpression, performActionOnDoubleLiteral, performActionOnEmptyMapLiteral, performActionOnEmptySeqLiteral, performActionOnEmptySetLiteral, performActionOnEmptyStatement, performActionOnEquals, performActionOnExactInstanceof, performActionOnExecutionContext, performActionOnExtends, performActionOnFieldDeclaration, performActionOnFieldReference, performActionOnFieldSpecification, performActionOnFloatLiteral, performActionOnForUpdates, performActionOnGreaterOrEquals, performActionOnGreaterThan, performActionOnGuard, performActionOnImplements, performActionOnImplicitFieldSpecification, performActionOnImport, performActionOnInstanceof, performActionOnInterfaceDeclaration, performActionOnIntersect, performActionOnIntLiteral, performActionOnIProgramVariable, performActionOnLessOrEquals, performActionOnLessThan, performActionOnLocationVariable, performActionOnLogicalAnd, performActionOnLogicalNot, performActionOnLogicalOr, performActionOnLongLiteral, performActionOnLoopInit, performActionOnLoopInvariant, performActionOnMetaClassReference, performActionOnMethod, performActionOnMethodBodyStatement, performActionOnMethodDeclaration, performActionOnMethodReference, performActionOnMinus, performActionOnMinusAssignment, performActionOnModifier, performActionOnModulo, performActionOnModuloAssignment, performActionOnNegative, performActionOnNew, performActionOnNewArray, performActionOnNotEquals, performActionOnNullLiteral, performActionOnPackageReference, performActionOnPackageSpecification, performActionOnParameterDeclaration, performActionOnParenthesizedExpression, performActionOnPassiveExpression, performActionOnPlus, performActionOnPlusAssignment, performActionOnPositive, performActionOnPostDecrement, performActionOnPostIncrement, performActionOnPreDecrement, performActionOnPreIncrement, performActionOnProgramConstant, performActionOnProgramElementName, performActionOnProgramMetaConstruct, performActionOnProgramMethod, performActionOnProgramVariable, performActionOnSchematicFieldReference, performActionOnSchemaVariable, performActionOnSeqConcat, performActionOnSeqGet, performActionOnSeqIndexOf, performActionOnSeqLength, performActionOnSeqReverse, performActionOnSeqSingleton, performActionOnSeqSub, performActionOnSetMinus, performActionOnSetUnion, performActionOnShiftLeft, performActionOnShiftLeftAssignment, performActionOnShiftRight, performActionOnShiftRightAssignment, performActionOnSingleton, performActionOnStringLiteral, performActionOnSuperArrayDeclaration, performActionOnSuperConstructorReference, performActionOnSuperReference, performActionOnThisConstructorReference, performActionOnThisReference, performActionOnThrow, performActionOnThrows, performActionOnTimes, performActionOnTimesAssignment, performActionOnTransactionStatement, performActionOnTypeCast, performActionOnTypeReference, performActionOnUnsignedShiftRight, performActionOnUnsignedShiftRightAssignment, performActionOnVariableDeclaration, performActionOnVariableReference, performActionOnVariableSpecificationdepth, rootprotected static final Boolean CHANGED
private final Break breakOut
private final Map<Label,ProgramVariable> breakFlags
private final Map<Label,ProgramVariable> continueFlags
private final ProgramVariable returnFlag
private final ProgramVariable returnValue
private final Stack<MethodFrame> frames
private int loopAndSwitchCascadeDepth
private StatementBlock result
public OuterBreakContinueAndReturnReplacer(StatementBlock block, Iterable<Label> alwaysInnerLabels, Label breakOutLabel, Map<Label,ProgramVariable> breakFlags, Map<Label,ProgramVariable> continueFlags, ProgramVariable returnFlag, ProgramVariable returnValue, Services services)
public StatementBlock replace()
public void start()
JavaASTWalkerstart in class JavaASTWalkerpublic StatementBlock getResult()
protected void walk(ProgramElement node)
JavaASTWalkerwalk in class JavaASTVisitornode - the JavaProgramElement the walker is atprotected void doDefaultAction(SourceElement x)
JavaASTVisitordoDefaultAction in class JavaASTVisitorpublic void performActionOnBreak(Break x)
performActionOnBreak in interface VisitorperformActionOnBreak in class JavaASTVisitorpublic void performActionOnContinue(Continue x)
performActionOnContinue in interface VisitorperformActionOnContinue in class JavaASTVisitorprivate void performActionOnJump(LabelJumpStatement x, Map<Label,ProgramVariable> flags)
private boolean isJumpToOuterLabel(LabelJumpStatement x)
public void performActionOnReturn(Return x)
performActionOnReturn in interface VisitorperformActionOnReturn in class JavaASTVisitorpublic void performActionOnLocalVariableDeclaration(LocalVariableDeclaration x)
performActionOnLocalVariableDeclaration in interface VisitorperformActionOnLocalVariableDeclaration in class JavaASTVisitorpublic void performActionOnStatementBlock(StatementBlock x)
performActionOnStatementBlock in interface VisitorperformActionOnStatementBlock in class JavaASTVisitorpublic void performActionOnWhile(While x)
performActionOnWhile in interface VisitorperformActionOnWhile in class JavaASTVisitorpublic void performActionOnFor(For x)
performActionOnFor in interface VisitorperformActionOnFor in class JavaASTVisitorpublic void performActionOnEnhancedFor(EnhancedFor x)
performActionOnEnhancedFor in interface VisitorperformActionOnEnhancedFor in class JavaASTVisitorpublic void performActionOnDo(Do x)
performActionOnDo in interface VisitorperformActionOnDo in class JavaASTVisitorpublic void performActionOnIf(If x)
performActionOnIf in interface VisitorperformActionOnIf in class JavaASTVisitorpublic void performActionOnSwitch(Switch x)
performActionOnSwitch in interface VisitorperformActionOnSwitch in class JavaASTVisitorpublic void performActionOnTry(Try x)
performActionOnTry in interface VisitorperformActionOnTry in class JavaASTVisitorpublic void performActionOnLabeledStatement(LabeledStatement x)
performActionOnLabeledStatement in interface VisitorperformActionOnLabeledStatement in class JavaASTVisitorpublic void performActionOnMethodFrame(MethodFrame x)
performActionOnMethodFrame in interface VisitorperformActionOnMethodFrame in class JavaASTVisitorpublic void performActionOnSynchronizedBlock(SynchronizedBlock x)
performActionOnSynchronizedBlock in interface VisitorperformActionOnSynchronizedBlock in class JavaASTVisitorpublic void performActionOnCopyAssignment(CopyAssignment x)
performActionOnCopyAssignment in interface VisitorperformActionOnCopyAssignment in class JavaASTVisitorpublic void performActionOnThen(Then x)
performActionOnThen in interface VisitorperformActionOnThen in class JavaASTVisitorpublic void performActionOnElse(Else x)
performActionOnElse in interface VisitorperformActionOnElse in class JavaASTVisitorpublic void performActionOnCase(Case x)
performActionOnCase in interface VisitorperformActionOnCase in class JavaASTVisitorpublic void performActionOnCatch(Catch x)
performActionOnCatch in interface VisitorperformActionOnCatch in class JavaASTVisitorpublic void performActionOnDefault(Default x)
performActionOnDefault in interface VisitorperformActionOnDefault in class JavaASTVisitorpublic void performActionOnFinally(Finally x)
performActionOnFinally in interface VisitorperformActionOnFinally in class JavaASTVisitorprivate void changed()
private void addChild(SourceElement x)