public abstract class ProgramTransformer extends JavaNonTerminalProgramElement implements StatementContainer, Statement, Expression, TypeReference
| Modifier and Type | Field and Description | 
|---|---|
private ProgramElement | 
body
the encapsulated program element 
 | 
private Name | 
name
the name of the meta construct 
 | 
| Constructor and Description | 
|---|
ProgramTransformer(Name name,
                  ProgramElement body)
creates a ProgramTransformer 
 | 
ProgramTransformer(java.lang.String name,
                  ProgramElement body)
creates a ProgramTransformer 
 | 
| Modifier and Type | Method and Description | 
|---|---|
ProgramElement | 
body()
returns the body of the meta construct 
 | 
ProgramElement | 
getChildAt(int index)
Returns the child at the specified index in this node's "virtual"
 child array. 
 | 
int | 
getChildCount()
Returns the number of children of this node. 
 | 
int | 
getDimensions()  | 
Expression | 
getExpressionAt(int index)  | 
int | 
getExpressionCount()
Get the number of expressions in this container. 
 | 
KeYJavaType | 
getKeYJavaType()  | 
KeYJavaType | 
getKeYJavaType(Services javaServ,
              ExecutionContext ec)
returns the  
KeYJavaType of an expression | 
KeYJavaType | 
getKeYJavaType(TermServices javaServ)  | 
SourceElement | 
getLastElement()
Finds the source element that occurs last in the source. 
 | 
java.lang.String | 
getName()
Return the name of the model element. 
 | 
PackageReference | 
getPackageReference()
Get the package reference. 
 | 
ProgramElementName | 
getProgramElementName()
Get identifier. 
 | 
ReferencePrefix | 
getReferencePrefix()  | 
Statement | 
getStatementAt(int index)  | 
int | 
getStatementCount()
Get the number of statements in this container. 
 | 
TypeReference | 
getTypeReferenceAt(int index)  | 
int | 
getTypeReferenceCount()
Get the number of type references in this container. 
 | 
Name | 
name()
returns the name of the meta construct 
 | 
ImmutableList<SchemaVariable> | 
neededInstantiations(SVInstantiations svInst)
get a list of schema variables that are needed by this entity when
 working given a SV instantiation set. 
 | 
ImmutableList<SchemaVariable> | 
needs()
get a list of schema variables that are needed by this entity when
 working given a SV instantiation set. 
 | 
void | 
prettyPrint(PrettyPrinter p)
Pretty printing the source element. 
 | 
ReferencePrefix | 
setReferencePrefix(ReferencePrefix r)  | 
java.lang.String | 
toString()
to String 
 | 
abstract ProgramElement[] | 
transform(ProgramElement pe,
         Services services,
         SVInstantiations svInst)
performs the program transformation needed for symbolic
 program transformation 
 | 
void | 
visit(Visitor v)
calls the corresponding method of a visitor in order to
 perform some action/transformation on this element 
 | 
compatibleBlockSize, 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 Name name
private ProgramElement body
public ProgramTransformer(Name name, ProgramElement body)
name - the Name of the meta constructbody - the ProgramElement contained by the meta constructpublic ProgramTransformer(java.lang.String name,
                          ProgramElement body)
name - the String with the name of the meta constructbody - the ProgramElement contained by the meta constructpublic abstract ProgramElement[] transform(ProgramElement pe, Services services, SVInstantiations svInst)
pe - the ProgramElement on which the execution is performedservices - the Services with all necessary information 
 about the java programssvInst - the instantiations of the schemavariablespublic Name name()
public ProgramElement body()
public SourceElement getLastElement()
getLastElement in interface SourceElementgetLastElement in class JavaSourceElementJavaSourceElement.toSource(), 
JavaSourceElement.getEndPosition()public int getStatementCount()
getStatementCount in interface StatementContainerpublic Statement getStatementAt(int index)
getStatementAt in interface StatementContainerpublic int getChildCount()
getChildCount in interface NonTerminalProgramElementpublic ProgramElement getChildAt(int index)
getChildAt in interface NonTerminalProgramElementindex - an index into this node's "virtual" child arrayjava.lang.ArrayIndexOutOfBoundsException - if index is out
 of boundspublic ReferencePrefix getReferencePrefix()
getReferencePrefix in interface ReferencePrefixgetReferencePrefix in interface TypeReferencepublic ReferencePrefix setReferencePrefix(ReferencePrefix r)
public int getDimensions()
getDimensions in interface TypeReferencepublic int getTypeReferenceCount()
TypeReferenceContainergetTypeReferenceCount in interface TypeReferenceContainerpublic TypeReference getTypeReferenceAt(int index)
getTypeReferenceAt in interface TypeReferenceContainerpublic PackageReference getPackageReference()
PackageReferenceContainergetPackageReference in interface PackageReferenceContainerpublic int getExpressionCount()
ExpressionContainergetExpressionCount in interface ExpressionContainerpublic Expression getExpressionAt(int index)
getExpressionAt in interface ExpressionContainerpublic ProgramElementName getProgramElementName()
NamedProgramElementgetProgramElementName in interface NamedProgramElementgetProgramElementName in interface TypeReferencepublic java.lang.String getName()
NamedModelElementgetName in interface NamedModelElementgetName in interface TypeReferencepublic void visit(Visitor v)
visit in interface SourceElementv - the Visitorpublic void prettyPrint(PrettyPrinter p) throws java.io.IOException
JavaSourceElementprettyPrint in interface SourceElementprettyPrint in class JavaProgramElementp - a pretty printer.java.io.IOException - occasionally thrown.public java.lang.String toString()
toString in class JavaSourceElementpublic KeYJavaType getKeYJavaType()
getKeYJavaType in interface TypeReferencepublic KeYJavaType getKeYJavaType(TermServices javaServ)
public KeYJavaType getKeYJavaType(Services javaServ, ExecutionContext ec)
ExpressionKeYJavaType of an expressiongetKeYJavaType in interface Expressionpublic ImmutableList<SchemaVariable> needs()
svInst - the instantiations of SV so far.public ImmutableList<SchemaVariable> neededInstantiations(SVInstantiations svInst)
svInst - the instatiations of SV so far.