public class EssentialOCLCSLeft2RightVisitor extends AbstractEssentialOCLCSLeft2RightVisitor
Modifier and Type | Class and Description |
---|---|
static interface |
EssentialOCLCSLeft2RightVisitor.Invocations |
static class |
EssentialOCLCSLeft2RightVisitor.ResolvedInvocation |
static class |
EssentialOCLCSLeft2RightVisitor.UnresolvedInvocations |
Modifier and Type | Field and Description |
---|---|
static boolean |
AUTOGENERATED_LOOKUP
Configure use of the new auto-generated lookup or the old manually coded lookup.
|
protected EnvironmentFactoryInternal |
environmentFactory |
protected PivotMetamodelManager |
metamodelManager |
protected StandardLibraryInternal |
standardLibrary |
context
Constructor and Description |
---|
EssentialOCLCSLeft2RightVisitor(CS2ASConversion context) |
visitAbstractNameExpCS, visitAssociationClassCallExpCS, visitCallExpCS, visitCollectionPatternCS, visitCurlyBracketedClauseCS, visitExpSpecificationCS, visitIfThenExpCS, visitIterateCallExpCS, visitIterationCallExpCS, visitLambdaLiteralExpCS, visitLiteralExpCS, visitOperationCallExpCS, visitOperatorExpCS, visitPatternExpCS, visitPrimitiveLiteralExpCS, visitPropertyCallExpCS, visitRoundBracketedClauseCS, visitShadowExpCS, visitSquareBracketedClauseCS, visitTypeNameExpCS, visitVariableExpCS
visitAnnotationCS, visitClassCS, visitConstraintCS, visitDetailCS, visiting, visitOperationCS, visitParameterCS, visitSpecificationCS, visitStructuralFeatureCS, visitTemplateBindingCS, visitTemplateParameterCS, visitTemplateParameterSubstitutionCS, visitTemplateSignatureCS, visitTuplePartCS, visitTupleTypeCS, visitTypeRefCS
visitAnnotationElementCS, visitAttributeCS, visitContextLessElementCS, visitDataTypeCS, visitDocumentationCS, visitElementCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitFeatureCS, visitImportCS, visitLambdaTypeCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityCS, visitMultiplicityStringCS, visitNamedElementCS, visitNamespaceCS, visitPackageCS, visitPackageOwnerCS, visitPathElementCS, visitPathElementWithURICS, visitPathNameCS, visitPivotableElementCS, visitPrimitiveTypeRefCS, visitReferenceCS, visitRootCS, visitRootPackageCS, visitStructuredClassCS, visitTemplateableElementCS, visitTypeCS, visitTypedElementCS, visitTypedRefCS, visitTypedTypeRefCS, visitTypeParameterCS, visitWildcardTypeRefCS
getAdapter, safeVisit, visit
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAdapter, visitAnnotationCS, visitAnnotationElementCS, visitAttributeCS, visitClassCS, visitConstraintCS, visitContextLessElementCS, visitDataTypeCS, visitDetailCS, visitDocumentationCS, visitElementCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitFeatureCS, visitImportCS, visiting, visitLambdaTypeCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityCS, visitMultiplicityStringCS, visitNamedElementCS, visitNamespaceCS, visitOperationCS, visitPackageCS, visitPackageOwnerCS, visitParameterCS, visitPathElementCS, visitPathElementWithURICS, visitPathNameCS, visitPivotableElementCS, visitPrimitiveTypeRefCS, visitReferenceCS, visitRootCS, visitRootPackageCS, visitSpecificationCS, visitStructuralFeatureCS, visitStructuredClassCS, visitTemplateableElementCS, visitTemplateBindingCS, visitTemplateParameterCS, visitTemplateParameterSubstitutionCS, visitTemplateSignatureCS, visitTuplePartCS, visitTupleTypeCS, visitTypeCS, visitTypedElementCS, visitTypedRefCS, visitTypedTypeRefCS, visitTypeParameterCS, visitTypeRefCS, visitWildcardTypeRefCS
public static boolean AUTOGENERATED_LOOKUP
@NonNull protected final EnvironmentFactoryInternal environmentFactory
@NonNull protected final PivotMetamodelManager metamodelManager
@NonNull protected final StandardLibraryInternal standardLibrary
public EssentialOCLCSLeft2RightVisitor(@NonNull CS2ASConversion context)
protected void checkForInvalidImplicitSourceType(@NonNull ExpCS csInvocationExp)
@NonNull protected OperationCallExp createCoercionCallExp(@NonNull OCLExpression sourceExp, @NonNull Operation coercion)
protected ImplicitSourceTypeIterator createImplicitSourceTypeIterator(@NonNull ElementCS csElement)
@NonNull protected OCLExpression createImplicitSourceVariableExp(@NonNull AbstractNameExpCS csNameExp, Type owningType)
@NonNull protected ImplicitSourceVariableIterator createImplicitSourceVariableIterator(@NonNull ModelElementCS csExp)
@NonNull protected VariableExp createImplicitVariableExp(@NonNull VariableDeclaration variable)
@Nullable protected Iteration getBestIteration(@NonNull EssentialOCLCSLeft2RightVisitor.Invocations invocations, @Nullable RoundBracketedClauseCS csRoundBracketedClause)
@Nullable protected Operation getExampleOperation(@NonNull EssentialOCLCSLeft2RightVisitor.Invocations invocations, @Nullable OCLExpression sourceExp, @NonNull RoundBracketedClauseCS csRoundBracketedClause)
@Nullable protected VariableDeclaration getImplicitSource(@NonNull ModelElementCS csExp, @NonNull Type requiredType)
@Nullable protected EssentialOCLCSLeft2RightVisitor.Invocations getInvocations(@Nullable Type asSourceType, @Nullable Type asSourceTypeValue, @NonNull RoundBracketedClauseCS csRoundBracketedClause)
@Nullable protected EssentialOCLCSLeft2RightVisitor.Invocations getInvocations(@NonNull Type asType, @Nullable Type asTypeValue, @NonNull java.lang.String name, int iteratorCount, int expressionCount)
@Nullable protected java.util.List<NamedElement> getInvocationsInternal(@Nullable java.util.List<NamedElement> invocations, @NonNull java.lang.Iterable<? extends Operation> allOperations, int iteratorCount, int expressionCount)
@NonNull protected OperatorExpCS getRoot(@NonNull OperatorExpCS csOperator)
protected boolean isInvalidType(@Nullable Type type)
@Deprecated protected boolean isRequired(@Nullable TypedRefCS csTypeRef)
@NonNull protected OperationCallExp refreshOperationCallExp(@NonNull AbstractNameExpCS csNameExp, @Nullable OCLExpression sourceExp)
@NonNull protected OppositePropertyCallExp refreshOppositePropertyCallExp(@NonNull NameExpCS csNameExp, @NonNull OCLExpression sourceExp, @NonNull Property property)
@NonNull protected PropertyCallExp refreshPropertyCallExp(@NonNull NameExpCS csNameExp, @NonNull OCLExpression sourceExp, @NonNull Property property)
protected Element resolveAssociationClassCallExp(@NonNull NameExpCS csNameExp)
protected void resolveAtPre(@Nullable AbstractNameExpCS csNameExp, @NonNull FeatureCallExp featureCallExp)
@Nullable protected OCLExpression resolveBestInvocation(@Nullable OCLExpression sourceExp, @NonNull RoundBracketedClauseCS csRoundBracketedClause, @NonNull EssentialOCLCSLeft2RightVisitor.Invocations invocations)
sourceExp is null for an implicit source invocation.
csInvocationExp.getNamedElement() must be invoked once, after the left-hand context has been established to enable the lokup to proceed in a simple (perhaps rivial) fashion.
@Nullable protected Operation resolveCoercionFrom(@NonNull Type argType, @NonNull Type parameterType)
@NonNull protected EnumLiteralExp resolveEnumLiteral(@NonNull ExpCS csExp, @NonNull EnumerationLiteral enumerationLiteral)
@NonNull protected OCLExpression resolveExplicitSourceNavigation(@NonNull OCLExpression sourceExp, @NonNull NameExpCS csNameExp)
@NonNull protected OCLExpression resolveImplicitAsSet(@NonNull OCLExpression sourceExp, @NonNull Type sourceType, @NonNull InfixExpCS csOperator)
@Nullable protected IteratorExp resolveImplicitCollect(@NonNull OCLExpression sourceExp, @NonNull InfixExpCS csOperator)
@NonNull protected OCLExpression resolveInvocation(@Nullable OCLExpression sourceExp, @NonNull RoundBracketedClauseCS csRoundBracketedClause)
protected void resolveIterationAccumulators(@NonNull RoundBracketedClauseCS csRoundBracketedClause, @NonNull LoopExp expression)
protected void resolveIterationBody(@NonNull RoundBracketedClauseCS csRoundBracketedClause, @NonNull LoopExp expression)
@NonNull protected LoopExp resolveIterationCallExp(@NonNull AbstractNameExpCS csNameExp, @NonNull OCLExpression sourceExp, @NonNull Iteration iteration)
protected void resolveIterationContent(@NonNull RoundBracketedClauseCS csRoundBracketedClause, @NonNull LoopExp expression)
protected void resolveIterationIterators(@NonNull RoundBracketedClauseCS csRoundBracketedClause, @NonNull OCLExpression source, @NonNull LoopExp expression)
protected void resolveOperationArgumentTypes(@Nullable java.util.List<Parameter> parameters, @NonNull RoundBracketedClauseCS csRoundBracketedClause)
protected void resolveOperationArguments(@NonNull RoundBracketedClauseCS csRoundBracketedClause, @NonNull Operation operation, @NonNull OperationCallExp expression)
protected void resolveOperationCall(@NonNull OperationCallExp expression, @NonNull OperatorExpCS csOperator)
@NonNull protected OperationCallExp resolveOperationCallExp(@NonNull RoundBracketedClauseCS csRoundBracketedClause, @NonNull OperationCallExp operationCallExp, @NonNull Operation operation)
protected void resolveOperationReturnType(@NonNull CallExp callExp)
@NonNull protected CallExp resolvePropertyCallExp(@NonNull OCLExpression sourceExp, @NonNull NameExpCS csNameExp, @NonNull Property property)
@Nullable protected Type resolvePropertyReturnType(@NonNull NavigationCallExp callExp, @NonNull NameExpCS csNameExp, @NonNull Property property)
protected Element resolveRoundBracketedTerm(@NonNull RoundBracketedClauseCS csRoundBracketedClause)
@Nullable protected OCLExpression resolveShadowExp(@NonNull NameExpCS csNameExp)
protected Element resolveSimpleNameExp(@NonNull NameExpCS csNameExp, @NonNull Element element)
@NonNull protected VariableExp resolveVariableExp(@NonNull NameExpCS csNameExp, @NonNull VariableDeclaration variableDeclaration)
public Element visitBooleanLiteralExpCS(@NonNull BooleanLiteralExpCS csBooleanLiteralExp)
visitBooleanLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitBooleanLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitCollectionLiteralExpCS(@NonNull CollectionLiteralExpCS csCollectionLiteralExp)
visitCollectionLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitCollectionLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitCollectionLiteralPartCS(@NonNull CollectionLiteralPartCS csCollectionLiteralPart)
visitCollectionLiteralPartCS
in interface EssentialOCLCSVisitor<Element>
visitCollectionLiteralPartCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitCollectionTypeCS(@NonNull CollectionTypeCS object)
visitCollectionTypeCS
in interface EssentialOCLCSVisitor<Element>
visitCollectionTypeCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitContextCS(@NonNull ContextCS csContext)
visitContextCS
in interface EssentialOCLCSVisitor<Element>
visitContextCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitExpCS(@NonNull ExpCS object)
visitExpCS
in interface EssentialOCLCSVisitor<Element>
visitExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitIfExpCS(@NonNull IfExpCS csIfExp)
visitIfExpCS
in interface EssentialOCLCSVisitor<Element>
visitIfExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitInfixExpCS(@NonNull InfixExpCS csInfixExp)
visitInfixExpCS
in interface EssentialOCLCSVisitor<Element>
visitInfixExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
@NonNull protected OCLExpression doVisitBinaryOperatorCS(@NonNull InfixExpCS csOperator)
protected OCLExpression doVisitNavigationOperatorCS(@NonNull InfixExpCS csOperator)
public Element visitInvalidLiteralExpCS(@NonNull InvalidLiteralExpCS csInvalidLiteralExp)
visitInvalidLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitInvalidLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitLetExpCS(@NonNull LetExpCS csLetExp)
visitLetExpCS
in interface EssentialOCLCSVisitor<Element>
visitLetExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitLetVariableCS(@NonNull LetVariableCS csLetVariable)
visitLetVariableCS
in interface EssentialOCLCSVisitor<Element>
visitLetVariableCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitMapLiteralExpCS(@NonNull MapLiteralExpCS csMapLiteralExp)
visitMapLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitMapLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitMapLiteralPartCS(@NonNull MapLiteralPartCS csMapLiteralPart)
visitMapLiteralPartCS
in interface EssentialOCLCSVisitor<Element>
visitMapLiteralPartCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitMapTypeCS(@NonNull MapTypeCS object)
visitMapTypeCS
in interface EssentialOCLCSVisitor<Element>
visitMapTypeCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitNameExpCS(@NonNull NameExpCS csNameExp)
visitNameExpCS
in interface EssentialOCLCSVisitor<Element>
visitNameExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitNavigatingArgCS(@NonNull NavigatingArgCS csNavigatingArg)
visitNavigatingArgCS
in interface EssentialOCLCSVisitor<Element>
visitNavigatingArgCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitNestedExpCS(@NonNull NestedExpCS csNestedExp)
visitNestedExpCS
in interface EssentialOCLCSVisitor<Element>
visitNestedExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitNullLiteralExpCS(@NonNull NullLiteralExpCS csNullLiteralExp)
visitNullLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitNullLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitNumberLiteralExpCS(@NonNull NumberLiteralExpCS csNumberLiteralExp)
visitNumberLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitNumberLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitPrefixExpCS(@NonNull PrefixExpCS csPrefixExp)
visitPrefixExpCS
in interface EssentialOCLCSVisitor<Element>
visitPrefixExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitSelfExpCS(@NonNull SelfExpCS csSelfExp)
visitSelfExpCS
in interface EssentialOCLCSVisitor<Element>
visitSelfExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitShadowPartCS(@NonNull ShadowPartCS csShadowPart)
visitShadowPartCS
in interface EssentialOCLCSVisitor<Element>
visitShadowPartCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitStringLiteralExpCS(@NonNull StringLiteralExpCS csStringLiteralExp)
visitStringLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitStringLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitTupleLiteralExpCS(@NonNull TupleLiteralExpCS csTupleLiteralExp)
visitTupleLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitTupleLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitTupleLiteralPartCS(@NonNull TupleLiteralPartCS csTupleLiteralPart)
visitTupleLiteralPartCS
in interface EssentialOCLCSVisitor<Element>
visitTupleLiteralPartCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitTypeLiteralExpCS(@NonNull TypeLiteralExpCS csTypeLiteralExp)
visitTypeLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitTypeLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitUnlimitedNaturalLiteralExpCS(@NonNull UnlimitedNaturalLiteralExpCS csUnlimitedNaturalLiteralExp)
visitUnlimitedNaturalLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
visitUnlimitedNaturalLiteralExpCS
in class AbstractEssentialOCLCSLeft2RightVisitor
public Element visitVariableCS(@NonNull VariableCS csVariable)
visitVariableCS
in interface EssentialOCLCSVisitor<Element>
visitVariableCS
in class AbstractEssentialOCLCSLeft2RightVisitor