|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.ocl.examples.codegen.cgmodel.util.AbstractCGModelVisitor<R,C>
org.eclipse.ocl.examples.codegen.cgmodel.util.AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
org.eclipse.ocl.examples.codegen.analyzer.BoxingAnalyzer
public class BoxingAnalyzer
A BoxingAnalyzer performs a bottom up tree-traversal inserting:
CGBoxExp or CGUnboxExp whereever a conversion from boxed to unboxed or vice-versa is required.
CGCastExp whereever the apparent type is not available (e.g. Parameters passed as Object).
CGGuardExp whereever a non-null value is required.
No attempt at optimisation is made, since this can be performed by Common SubExpression Elimination.
| Field Summary | |
|---|---|
protected CodeGenerator |
codeGenerator
|
| Fields inherited from class org.eclipse.ocl.examples.codegen.cgmodel.util.AbstractCGModelVisitor |
|---|
context |
| Constructor Summary | |
|---|---|
BoxingAnalyzer(CodeGenAnalyzer analyzer)
|
|
| Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.util.AbstractCGModelVisitor |
|---|
getAdapter, safeVisit, visit |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.eclipse.ocl.examples.codegen.cgmodel.util.CGModelVisitor |
|---|
getAdapter |
| Field Detail |
|---|
@NonNull protected final CodeGenerator codeGenerator
| Constructor Detail |
|---|
public BoxingAnalyzer(@NonNull
CodeGenAnalyzer analyzer)
| Method Detail |
|---|
protected boolean hasOclVoidOperation(@NonNull
OperationId operationId)
@Nullable
protected CGValuedElement rewriteAsAssertNonNulled(@Nullable
CGValuedElement cgChild)
protected CGValuedElement rewriteAsBoxed(@Nullable
CGValuedElement cgChild)
@Deprecated
@Nullable
protected CGValuedElement rewriteAsGuarded(@Nullable
CGValuedElement cgChild)
@Nullable
protected CGValuedElement rewriteAsGuarded(@Nullable
CGValuedElement cgChild,
@NonNull
java.lang.String message)
protected CGValuedElement rewriteAsCast(@Nullable
CGVariableExp cgChild)
protected CGValuedElement rewriteAsUnboxed(@Nullable
CGValuedElement cgChild)
@Nullable
public java.lang.Object visiting(@NonNull
CGElement visitable)
CGModelVisitor
@Nullable
public java.lang.Object visitCGBuiltInIterationCallExp(@NonNull
CGBuiltInIterationCallExp cgElement)
visitCGBuiltInIterationCallExp in interface CGModelVisitor<java.lang.Object>visitCGBuiltInIterationCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGConstructorPart(@NonNull
CGConstructorPart cgConstructorPart)
visitCGConstructorPart in interface CGModelVisitor<java.lang.Object>visitCGConstructorPart in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGEcoreOperation(@NonNull
CGEcoreOperation cgElement)
visitCGEcoreOperation in interface CGModelVisitor<java.lang.Object>visitCGEcoreOperation in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGEcoreOperationCallExp(@NonNull
CGEcoreOperationCallExp cgElement)
visitCGEcoreOperationCallExp in interface CGModelVisitor<java.lang.Object>visitCGEcoreOperationCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGEcoreOppositePropertyCallExp(@NonNull
CGEcoreOppositePropertyCallExp cgElement)
visitCGEcoreOppositePropertyCallExp in interface CGModelVisitor<java.lang.Object>visitCGEcoreOppositePropertyCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGEcorePropertyCallExp(@NonNull
CGEcorePropertyCallExp cgElement)
visitCGEcorePropertyCallExp in interface CGModelVisitor<java.lang.Object>visitCGEcorePropertyCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGExecutorOppositePropertyCallExp(@NonNull
CGExecutorOppositePropertyCallExp cgElement)
visitCGExecutorOppositePropertyCallExp in interface CGModelVisitor<java.lang.Object>visitCGExecutorOppositePropertyCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGExecutorPropertyCallExp(@NonNull
CGExecutorPropertyCallExp cgElement)
visitCGExecutorPropertyCallExp in interface CGModelVisitor<java.lang.Object>visitCGExecutorPropertyCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGElement(@NonNull
CGElement cgElement)
visitCGElement in interface CGModelVisitor<java.lang.Object>visitCGElement in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGIfExp(@NonNull
CGIfExp cgElement)
visitCGIfExp in interface CGModelVisitor<java.lang.Object>visitCGIfExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGIsEqualExp(@NonNull
CGIsEqualExp cgElement)
visitCGIsEqualExp in interface CGModelVisitor<java.lang.Object>visitCGIsEqualExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGLibraryIterateCallExp(@NonNull
CGLibraryIterateCallExp cgElement)
visitCGLibraryIterateCallExp in interface CGModelVisitor<java.lang.Object>visitCGLibraryIterateCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGLibraryIterationCallExp(@NonNull
CGLibraryIterationCallExp cgElement)
visitCGLibraryIterationCallExp in interface CGModelVisitor<java.lang.Object>visitCGLibraryIterationCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGLibraryOperationCallExp(@NonNull
CGLibraryOperationCallExp cgElement)
visitCGLibraryOperationCallExp in interface CGModelVisitor<java.lang.Object>visitCGLibraryOperationCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGNavigationCallExp(@NonNull
CGNavigationCallExp cgElement)
visitCGNavigationCallExp in interface CGModelVisitor<java.lang.Object>visitCGNavigationCallExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGOperation(@NonNull
CGOperation cgElement)
visitCGOperation in interface CGModelVisitor<java.lang.Object>visitCGOperation in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGProperty(@NonNull
CGProperty cgElement)
visitCGProperty in interface CGModelVisitor<java.lang.Object>visitCGProperty in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
@Nullable
public java.lang.Object visitCGVariableExp(@NonNull
CGVariableExp cgElement)
visitCGVariableExp in interface CGModelVisitor<java.lang.Object>visitCGVariableExp in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||