org.eclipse.ocl.examples.codegen.cse
Class AbstractPlace

java.lang.Object
  extended by org.eclipse.ocl.examples.codegen.cse.AbstractPlace
Direct Known Subclasses:
GlobalPlace, LocalPlace

public abstract class AbstractPlace
extends java.lang.Object

The Place hierarchy is a sub-hierarchy of the CG hierarchy comprising only those nodes at which declarations may be introduced, typically be a chain of LetExp.

An AbstractPlace describes a place where forests of CG trees may be placed for code generation.

A GlobalPlace describes the place for global constants and all outer stack places.

A StackPlace describes a callable forest such as an Operation of Iteration.

A ControlPlace describes a control dependency such as the Else place of an If.


Constructor Summary
AbstractPlace()
           
 
Method Summary
static ControlPlace getControlPlace(AbstractPlace abstractPlace)
           
abstract  GlobalPlace getGlobalPlace()
          Return the GlobalPlace.
abstract  AbstractPlace getParentPlace()
          Return the parent of this place, which is self for the GlobalPlace.
abstract  StackPlace getStackPlace()
          Return the stack place hosting this place.
abstract  void printHierarchy(java.lang.Appendable appendable, java.lang.String indentation)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractPlace

public AbstractPlace()
Method Detail

getControlPlace

@NonNull
public static ControlPlace getControlPlace(@NonNull
                                                   AbstractPlace abstractPlace)

getGlobalPlace

@NonNull
public abstract GlobalPlace getGlobalPlace()
Return the GlobalPlace.


getParentPlace

@NonNull
public abstract AbstractPlace getParentPlace()
Return the parent of this place, which is self for the GlobalPlace.


getStackPlace

@Nullable
public abstract StackPlace getStackPlace()
Return the stack place hosting this place. Returns for the GlobalPlace..


printHierarchy

public abstract void printHierarchy(@NonNull
                                    java.lang.Appendable appendable,
                                    @NonNull
                                    java.lang.String indentation)