| de.uka.ilkd.key.java.recoderext.RecoderModelTransformer
All known Subclasses: de.uka.ilkd.key.java.recoderext.ImplicitFieldAdder, de.uka.ilkd.key.java.recoderext.PrepareObjectBuilder, de.uka.ilkd.key.java.recoderext.CreateBuilder, de.uka.ilkd.key.java.recoderext.ClassPreparationMethodBuilder, de.uka.ilkd.key.java.recoderext.JVMIsTransientMethodBuilder, de.uka.ilkd.key.java.recoderext.ConstructorNormalformBuilder, de.uka.ilkd.key.java.recoderext.ClassInitializeMethodBuilder, de.uka.ilkd.key.java.recoderext.InstanceAllocationMethodBuilder, de.uka.ilkd.key.java.recoderext.CreateObjectBuilder,
RecoderModelTransformer | abstract public class RecoderModelTransformer extends TwoPassTransformation (Code) | | The Java DL requires some implicit fields, that are available in each
Java class. The name of the implicit fields is usually enclosed
between two angle brackets.
Two access the fields in a uniform way, they are added as usual
fields to the classes, in particular this allows us to parse them in
more easier.
For further information see also
|
Field Summary | |
protected CrossReferenceServiceConfiguration | services | protected CompilationUnitMutableList | units |
Constructor Summary | |
public | RecoderModelTransformer(CrossReferenceServiceConfiguration services, CompilationUnitMutableList units) |
Method Summary | |
protected CopyAssignment | assign(Expression lhs, Expression rhs) | public void | attach(MethodDeclaration md, TypeDeclaration td, int idx) | protected FieldReference | attribute(ReferencePrefix prefix, Identifier attributeName) | protected LocalVariableDeclaration | declare(String name, ClassType type) | protected LocalVariableDeclaration | declare(String name, TypeDeclaration type) | public Expression | getDefaultValue(Type type) returns the default value of the given type
according to JLS Sect. | public boolean | isVisible() | abstract protected void | makeExplicit(TypeDeclaration td) The method is called for each type declaration of the compilation
unit and initiates the syntactical transformation. | public void | makeExplicit() invokes model transformation for each top level type declaration
in any compilation unit. | public void | transform() Starts the transformation. |
services | protected CrossReferenceServiceConfiguration services(Code) | | |
units | protected CompilationUnitMutableList units(Code) | | |
RecoderModelTransformer | public RecoderModelTransformer(CrossReferenceServiceConfiguration services, CompilationUnitMutableList units)(Code) | | creates a transormder for the recoder model
Parameters: services - the CrossReferenceServiceConfiguration to accessmodel information Parameters: units - the array of CompilationUnits describing the model to be transformed |
assign | protected CopyAssignment assign(Expression lhs, Expression rhs)(Code) | | |
attach | public void attach(MethodDeclaration md, TypeDeclaration td, int idx)(Code) | | attaches a method declaration to the declaration of type td at
position idx
Parameters: md - the MethodDeclaration to insert Parameters: td - the TypeDeclaration that becomes parent of the newmethod Parameters: idx - the position where to add the method |
attribute | protected FieldReference attribute(ReferencePrefix prefix, Identifier attributeName)(Code) | | |
declare | protected LocalVariableDeclaration declare(String name, ClassType type)(Code) | | |
declare | protected LocalVariableDeclaration declare(String name, TypeDeclaration type)(Code) | | |
getDefaultValue | public Expression getDefaultValue(Type type)(Code) | | returns the default value of the given type
according to JLS Sect. 4.5.5
the default value of the given type according to JLS Sect. 4.5.5 |
isVisible | public boolean isVisible()(Code) | | returns if changes have to be reported to the change history
true, iff changes have to be reported to the change history |
makeExplicit | abstract protected void makeExplicit(TypeDeclaration td)(Code) | | The method is called for each type declaration of the compilation
unit and initiates the syntactical transformation. If you want to
descend in inner classes you have to implement the recusrsion by
yourself.
|
makeExplicit | public void makeExplicit()(Code) | | invokes model transformation for each top level type declaration
in any compilation unit. Not for inner classes.
|
transform | public void transform()(Code) | | Starts the transformation.
|
|
|