org.eclipse.ocl.examples.codegen.analyzer
Class DependencyVisitor
java.lang.Object
org.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.DependencyVisitor
- All Implemented Interfaces:
- CGModelVisitor<java.lang.Object>
- Direct Known Subclasses:
- JavaDependencyVisitor
public class DependencyVisitor
- extends AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
Traverses the AST adding any internode dependencies to ensure correct declaration ordering.
Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.util.AbstractExtendingCGModelVisitor |
visitCGAccumulator, visitCGAssertNonNullExp, visitCGBoolean, visitCGBoxExp, visitCGBuiltInIterationCallExp, visitCGCallable, visitCGCallExp, visitCGCastExp, visitCGCatchExp, visitCGClass, visitCGConstant, visitCGConstraint, visitCGConstructorExp, visitCGEcoreClassConstructorExp, visitCGEcoreDataTypeConstructorExp, visitCGEcoreOperation, visitCGEcoreOperationCallExp, visitCGEcoreOppositePropertyCallExp, visitCGEcorePropertyCallExp, visitCGExecutorCompositionProperty, visitCGExecutorConstructorPart, visitCGExecutorNavigationProperty, visitCGExecutorOperation, visitCGExecutorOperationCallExp, visitCGExecutorOppositeProperty, visitCGExecutorOppositePropertyCallExp, visitCGExecutorProperty, visitCGExecutorPropertyCallExp, visitCGExecutorType, visitCGFinalVariable, visitCGGuardExp, visitCGIfExp, visitCGInteger, visitCGInvalid, visitCGIsEqualExp, visitCGIsInvalidExp, visitCGIsUndefinedExp, visitCGIterationCallExp, visitCGIterator, visitCGLetExp, visitCGLibraryIterateCallExp, visitCGLibraryIterationCallExp, visitCGLibraryOperation, visitCGLibraryOperationCallExp, visitCGLibraryPropertyCallExp, visitCGLocalVariable, visitCGModel, visitCGNamedElement, visitCGNavigationCallExp, visitCGNull, visitCGNumber, visitCGOperation, visitCGOperationCallExp, visitCGOppositePropertyCallExp, visitCGPackage, visitCGParameter, visitCGProperty, visitCGPropertyCallExp, visitCGReal, visitCGSettableVariable, visitCGString, visitCGText, visitCGTextParameter, visitCGThrowExp, visitCGTuplePartCallExp, visitCGTypedElement, visitCGTypeExp, visitCGTypeId, visitCGUnboxExp, visitCGUnlimited, visitCGValuedElement |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NOT_AVAILABLE
protected static final int NOT_AVAILABLE
- See Also:
- Constant Field Values
id2DependencyVisitor
@NonNull
protected DependencyVisitor.Id2DependencyVisitor id2DependencyVisitor
globalPlace
@NonNull
protected final GlobalPlace globalPlace
DependencyVisitor
public DependencyVisitor(@NonNull
CodeGenAnalyzer analyzer,
@NonNull
GlobalPlace globalPlace)
addDependency
protected void addDependency(@Nullable
CGValuedElement cgElement,
@Nullable
CGValuedElement dependsOn)
getPrimaryElement
@NonNull
public CGValuedElement getPrimaryElement(@NonNull
CGValuedElement cgElement)
getRootDepth
public int getRootDepth(@NonNull
CGValuedElement cgElement)
getSortedDependencies
@NonNull
public java.util.List<CGValuedElement> getSortedDependencies(boolean isGlobal)
visit
public void visit(@NonNull
CGNamedElement cgElement)
visitAll
public void visitAll(@Nullable
java.lang.Iterable<? extends CGNamedElement> cgElements)
visitCGCollectionExp
@Nullable
public java.lang.Object visitCGCollectionExp(@NonNull
CGCollectionExp cgCollectionExp)
- Specified by:
visitCGCollectionExp
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGCollectionExp
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGConstructorPart
@Nullable
public java.lang.Object visitCGConstructorPart(@NonNull
CGConstructorPart cgConstructorPart)
- Specified by:
visitCGConstructorPart
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGConstructorPart
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGCollectionPart
@Nullable
public java.lang.Object visitCGCollectionPart(@NonNull
CGCollectionPart cgCollectionPart)
- Specified by:
visitCGCollectionPart
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGCollectionPart
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGConstantExp
@Nullable
public java.lang.Object visitCGConstantExp(@NonNull
CGConstantExp visitCGConstantExp)
- Specified by:
visitCGConstantExp
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGConstantExp
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGElement
@Nullable
public java.lang.Object visitCGElement(@NonNull
CGElement cgElement)
- Specified by:
visitCGElement
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGElement
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGElementId
@Nullable
public java.lang.Object visitCGElementId(@NonNull
CGElementId cgElementId)
- Specified by:
visitCGElementId
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGElementId
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGTuplePart
@Nullable
public java.lang.Object visitCGTuplePart(@NonNull
CGTuplePart cgTuplePart)
- Specified by:
visitCGTuplePart
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGTuplePart
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGTupleExp
@Nullable
public java.lang.Object visitCGTupleExp(@NonNull
CGTupleExp cgTupleExp)
- Specified by:
visitCGTupleExp
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGTupleExp
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGVariable
@Nullable
public java.lang.Object visitCGVariable(@NonNull
CGVariable cgVariable)
- Specified by:
visitCGVariable
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGVariable
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visitCGVariableExp
@Nullable
public java.lang.Object visitCGVariableExp(@NonNull
CGVariableExp cgVariableExp)
- Specified by:
visitCGVariableExp
in interface CGModelVisitor<java.lang.Object>
- Overrides:
visitCGVariableExp
in class AbstractExtendingCGModelVisitor<java.lang.Object,CodeGenAnalyzer>
visiting
@Nullable
public java.lang.Object visiting(@NonNull
CGElement visitable)
- Description copied from interface:
CGModelVisitor
- Return the result of visiting a visitable for which no more specific pivot type method
is available.