public class UnwindLoop extends ProgramTransformer
while ( i<10 ) {
i++
}
becomes if (i<10) l1:{ l2:{ i++; } while (i<10) { i++; } }| Modifier and Type | Field and Description |
|---|---|
private SchemaVariable |
innerLabel
the inner label ('l2')
|
private SchemaVariable |
outerLabel
the outer label that is used to leave the while loop ('l1')
|
| Constructor and Description |
|---|
UnwindLoop(SchemaVariable innerLabel,
SchemaVariable outerLabel,
LoopStatement loop)
creates an unwind-loop ProgramTransformer
|
| Modifier and Type | Method and Description |
|---|---|
SchemaVariable |
getInnerLabelSV()
Deprecated.
|
SchemaVariable |
getOuterLabelSV()
Deprecated.
|
ImmutableList<SchemaVariable> |
neededInstantiations(SVInstantiations svInst)
return a list of the SV that are relevant to this UnwindLoop
|
ProgramElement[] |
transform(ProgramElement pe,
Services services,
SVInstantiations svInst)
performs the program transformation needed for symbolic
program transformation
|
body, getChildAt, getChildCount, getDimensions, getExpressionAt, getExpressionCount, getKeYJavaType, getKeYJavaType, getKeYJavaType, getLastElement, getName, getPackageReference, getProgramElementName, getReferencePrefix, getStatementAt, getStatementCount, getTypeReferenceAt, getTypeReferenceCount, name, needs, prettyPrint, setReferencePrefix, toString, visitcompatibleBlockSize, computeHashCode, equals, equalsModRenaming, getArrayPos, match, matchChildrengetComments, hashCode, prettyPrintMain, reuseSignaturegetEndPosition, getFirstElement, getFirstElementIncludingBlocks, getParentClass, getPositionInfo, getRelativePosition, getStartPosition, setParentClass, toSource, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetComments, matchprivate final SchemaVariable outerLabel
private final SchemaVariable innerLabel
public UnwindLoop(SchemaVariable innerLabel, SchemaVariable outerLabel, LoopStatement loop)
loop - the LoopStatement contained by the meta constructinnerLabel - The inner label SVouterLabel - The outer label SVpublic ProgramElement[] transform(ProgramElement pe, Services services, SVInstantiations svInst)
ProgramTransformertransform in class ProgramTransformerpe - the ProgramElement on which the execution is performedservices - the Services with all necessary information
about the java programssvInst - the instantiations of the schemavariables@Deprecated public SchemaVariable getInnerLabelSV()
@Deprecated public SchemaVariable getOuterLabelSV()
public ImmutableList<SchemaVariable> neededInstantiations(SVInstantiations svInst)
neededInstantiations in class ProgramTransformersvInst - the instantiations so far - ignored