Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo SBH2016-05-20 14:09:19 +0000
committerEd Willink2016-10-22 14:15:18 +0000
commit46c4c58f3626ec8d3097d7a5cbba541799ffa20e (patch)
tree59524c51603b2b8291dcdaf54e20fa1ac539ab40
parente87313b34dae6f1a12e0e2c8eae1b0239f4686e8 (diff)
downloadorg.eclipse.qvtd-46c4c58f3626ec8d3097d7a5cbba541799ffa20e.tar.gz
org.eclipse.qvtd-46c4c58f3626ec8d3097d7a5cbba541799ffa20e.tar.xz
org.eclipse.qvtd-46c4c58f3626ec8d3097d7a5cbba541799ffa20e.zip
[cs2as] - MiniOCL projects: Initial content
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/.classpath7
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/.gitignore2
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/.project34
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/.settings/MiniOCL-BuildEverything.mwe2.launch14
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/META-INF/MANIFEST.MF11
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/build.properties4
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl.build/src/org/eclipse/qvtd/doc/miniocl/build/MiniOCL-BuildEverything.mwe2146
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/.classpath7
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/.gitignore1
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/.project28
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/META-INF/MANIFEST.MF13
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/build.properties10
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/CallExp.java50
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Class.java106
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Constraint.java50
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Element.java20
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/ExpressionInOCL.java78
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Feature.java18
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLFactory.java159
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLPackage.java1815
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLTables.java1746
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/NamedElement.java49
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Namespace.java17
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OCLExpression.java17
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Operation.java99
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OperationCallExp.java69
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Package.java59
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Parameter.java17
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Property.java49
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/PropertyCallExp.java50
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Root.java41
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/TypedElement.java50
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Variable.java17
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/VariableExp.java50
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/CallExpImpl.java173
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ClassImpl.java308
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ConstraintImpl.java164
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ElementImpl.java38
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ExpressionInOCLImpl.java250
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/FeatureImpl.java196
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLFactoryImpl.java248
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLPackageImpl.java837
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamedElementImpl.java160
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamespaceImpl.java37
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OCLExpressionImpl.java47
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationCallExpImpl.java220
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationImpl.java311
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PackageImpl.java191
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ParameterImpl.java47
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyCallExpImpl.java164
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyImpl.java163
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/RootImpl.java156
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/TypedElementImpl.java153
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableExpImpl.java164
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableImpl.java196
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/Env4CG.java36
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentFactory.java42
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentPackage.java413
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentTables.java514
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/LookupEnvironment.java88
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentFactoryImpl.java94
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentPackageImpl.java336
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/LookupEnvironmentImpl.java304
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/AbstractMiniOCLLookupFilter.java35
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentAdapterFactory.java157
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentSwitch.java155
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupFilter.java24
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResult.java31
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResultImpl.java43
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupSolver.java128
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLSingleResultLookupEnvironment.java102
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/OperationFilter.java67
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractDelegatingVisitor.java146
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractExtendingVisitor.java129
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMergedVisitor.java121
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMiniOCLCommonLookupVisitor.java32
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractNullVisitor.java129
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractVisitor.java73
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractWrappingVisitor.java306
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLAdapterFactory.java477
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLExportedOperationLookupVisitor.java67
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLExportedPropertyLookupVisitor.java67
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLQualifiedClassLookupVisitor.java63
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLQualifiedOperationLookupVisitor.java63
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLQualifiedPackageLookupVisitor.java62
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLQualifiedPropertyLookupVisitor.java63
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLSwitch.java590
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLUnqualifiedClassLookupVisitor.java92
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLUnqualifiedOperationLookupVisitor.java167
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLUnqualifiedPackageLookupVisitor.java115
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLUnqualifiedPropertyLookupVisitor.java167
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLUnqualifiedVariableLookupVisitor.java100
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/Visitable.java36
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/Visitor.java57
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/model/Lookup.ecore51
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/model/Lookup.genmodel32
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/model/MiniOCL.ecore82
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel73
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/plugin.properties4
-rw-r--r--doc/org.eclipse.qvtd.doc.miniocl/plugin.xml23
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/.classpath7
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/.gitignore1
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/.project34
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/META-INF/MANIFEST.MF13
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/build.properties5
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/src-gen/org/eclipse/qvtd/doc/ide/contentassist/antlr/MiniOCLCSParser.java131
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/src-gen/org/eclipse/qvtd/doc/ide/contentassist/antlr/PartialMiniOCLCSContentAssistParser.java34
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/src-gen/org/eclipse/qvtd/doc/ide/contentassist/antlr/internal/InternalMiniOCLCS.g3158
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/src-gen/org/eclipse/qvtd/doc/ide/contentassist/antlr/internal/InternalMiniOCLCS.tokens49
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/src-gen/org/eclipse/qvtd/doc/ide/contentassist/antlr/internal/InternalMiniOCLCSLexer.java1423
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ide/src-gen/org/eclipse/qvtd/doc/ide/contentassist/antlr/internal/InternalMiniOCLCSParser.java10140
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/.classpath9
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/.gitignore1
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/.project34
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/META-INF/MANIFEST.MF26
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/build.properties6
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/plugin.xml410
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/plugin.xml_gen410
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/ui/internal/XtextActivator.java93
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src-gen/org/eclipse/qvtd/doc/ui/AbstractMiniOCLCSUiModule.java280
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src-gen/org/eclipse/qvtd/doc/ui/MiniOCLCSExecutableExtensionFactory.java27
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src-gen/org/eclipse/qvtd/doc/ui/contentassist/AbstractMiniOCLCSProposalProvider.java179
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src/org/eclipse/qvtd/doc/ui/MiniOCLCSUiModule.xtend13
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src/org/eclipse/qvtd/doc/ui/contentassist/MiniOCLCSProposalProvider.xtend12
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src/org/eclipse/qvtd/doc/ui/labeling/MiniOCLCSDescriptionLabelProvider.xtend24
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src/org/eclipse/qvtd/doc/ui/labeling/MiniOCLCSLabelProvider.xtend31
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src/org/eclipse/qvtd/doc/ui/outline/CS2ASOutlineTreeProvider.java13
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src/org/eclipse/qvtd/doc/ui/outline/MiniOCLCSCS2ASOutlineTreeProvider.xtend14
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/src/org/eclipse/qvtd/doc/ui/quickfix/MiniOCLCSQuickfixProvider.xtend24
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/xtend-gen/org/eclipse/qvtd/doc/ui/.gitignore3
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/xtend-gen/org/eclipse/qvtd/doc/ui/contentassist/.gitignore3
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/xtend-gen/org/eclipse/qvtd/doc/ui/labeling/.gitignore6
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/xtend-gen/org/eclipse/qvtd/doc/ui/outline/.gitignore6
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext.ui/xtend-gen/org/eclipse/qvtd/doc/ui/quickfix/.gitignore3
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/.classpath9
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/.gitignore1
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/.project34
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/META-INF/MANIFEST.MF31
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/build.properties20
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/.gitignore3
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/MiniOCLCS2AS.cs2as73
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/MiniOCLCS2AS.ocl126
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/MiniOCLCS2ASDisambiguation.ocl36
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/MiniOCLCS2ASHelpers.ocl24
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/MiniOCLCS2ASLookup.ocl382
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/generated/MiniOCLCS.ecore102
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/generated/MiniOCLCS.genmodel84
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/model/temp/.gitignore2
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/plugin.properties4
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/plugin.xml12
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/plugin.xml_gen10
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/AbstractMiniOCLCSRuntimeModule.java194
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/MiniOCLCS.xtextbinbin0 -> 4167 bytes
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/MiniOCLCSStandaloneSetupGenerated.java42
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/BooleanExpCS.java51
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/BooleanLiteralExpCS.java19
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/CSTrace.java53
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/CallExpCS.java78
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/ClassCS.java115
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/ConstraintsDefCS.java71
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/ExpCS.java20
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/IntLiteralExpCS.java51
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/InvariantCS.java52
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/LiteralExpCS.java19
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/LogicExpCS.java105
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/MinioclcsFactory.java224
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/MinioclcsPackage.java2427
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/NameExpCS.java78
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/OperationCS.java125
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/PackageCS.java88
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/ParameterCS.java79
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/PathElementCS.java52
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/PathNameCS.java44
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/PrimaryExpCS.java19
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/PropertyCS.java79
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/RootCS.java61
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/RoundedBracketClauseCS.java44
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/StringLiteralExpCS.java51
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/BooleanExpCSImpl.java173
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/BooleanLiteralExpCSImpl.java41
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/CSTraceImpl.java160
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/CallExpCSImpl.java256
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/ClassCSImpl.java343
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/ConstraintsDefCSImpl.java234
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/ExpCSImpl.java43
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/IntLiteralExpCSImpl.java173
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/InvariantCSImpl.java188
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/LiteralExpCSImpl.java41
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/LogicExpCSImpl.java327
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/MinioclcsFactoryImpl.java343
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/MinioclcsPackageImpl.java1075
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/NameExpCSImpl.java257
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/OperationCSImpl.java375
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/PackageCSImpl.java272
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/ParameterCSImpl.java259
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/PathElementCSImpl.java174
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/PathNameCSImpl.java162
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/PrimaryExpCSImpl.java41
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/PropertyCSImpl.java259
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/RootCSImpl.java200
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/RoundedBracketClauseCSImpl.java162
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/impl/StringLiteralExpCSImpl.java173
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/util/MinioclcsAdapterFactory.java526
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/util/MinioclcsSwitch.java635
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/_MiniOCLCS2AS_qvtp_qvtcas/MiniOCLCS2AS_qvtp_qvtcas.java5063
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/AbstractComputationConstructor.java111
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/AbstractInvocationConstructor.java89
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/AbstractInvocationInternal.java58
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/AbstractTransformerInternal.java600
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/IncrementalInvocationManager.java143
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/IncrementalObjectManager.java849
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/LazyInvocationManager.java143
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/internal/tx/LazyObjectManager.java1029
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/library/model/AllObjectsOperation.java51
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/library/model/ModelObjectsOfKindOperation.java53
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/library/model/ModelObjectsOfTypeOperation.java52
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/library/model/RootObjectsOperation.java51
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractCS2ASTransformer.java79
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractComputation.java37
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractExecutionVisitor.java71
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractInvocation.java90
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractInvocationManager.java32
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractObjectManager.java49
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractSlotState.java76
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractTransformationExecutor.java65
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractTransformationInstance.java29
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractTransformer.java51
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractTypedModelInstance.java29
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/AbstractValueOccurrence.java32
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/CS2ASDiagnostic.java46
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/CS2ASException.java39
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/CS2ASExceptionDiagnostic.java54
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/CS2ASTransformationExecutor.java37
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/CS2ASTransformer.java28
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/Computation.java55
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/ExecutionVisitable.java38
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/ExecutionVisitor.java45
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/Invocation.java78
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/InvocationFailedException.java45
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/InvocationManager.java36
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/ObjectManager.java67
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/SlotState.java62
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/TransformationExecutor.java33
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/TransformationInstance.java33
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/Transformer.java57
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtext/tx/TypedModelInstance.java40
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtexts/labels/LabelGeneratorRegistry.java51
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtexts/labels/TransformationInstanceLabelGenerator.java42
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/minioclcs/xtexts/labels/TypedModelInstanceLabelGenerator.java42
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/parser/antlr/MiniOCLCSAntlrTokenFileProvider.java16
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/parser/antlr/MiniOCLCSParser.java40
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/parser/antlr/internal/InternalMiniOCLCS.g1394
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/parser/antlr/internal/InternalMiniOCLCS.tokens49
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/parser/antlr/internal/InternalMiniOCLCSLexer.java1423
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/parser/antlr/internal/InternalMiniOCLCSParser.java3871
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/scoping/AbstractMiniOCLCSScopeProvider.java9
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/serializer/MiniOCLCSSemanticSequencer.java386
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/serializer/MiniOCLCSSyntacticSequencer.java43
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/services/MiniOCLCSGrammarAccess.java1089
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src-gen/org/eclipse/qvtd/doc/validation/AbstractMiniOCLCSValidator.java20
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/GenerateMiniOCLCS.mwe261
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/MiniOCLCS.xtext106
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/MiniOCLCSRuntimeModule.xtend16
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/MiniOCLCSStandaloneSetup.xtend15
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/generator/MiniOCLCSGenerator.xtend25
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/linker/CS2ASLinker.java95
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/linker/LinkerUtil.java19
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/scoping/MiniOCLCSScopeProvider.xtend15
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/src/org/eclipse/qvtd/doc/validation/MiniOCLCSValidator.xtend25
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/xtend-gen/org/eclipse/qvtd/doc/.gitignore6
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/xtend-gen/org/eclipse/qvtd/doc/generator/.gitignore3
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/xtend-gen/org/eclipse/qvtd/doc/scoping/.gitignore3
-rw-r--r--doc/org.eclipse.qvtd.doc.minioclcs.xtext/xtend-gen/org/eclipse/qvtd/doc/validation/.gitignore3
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.build/src/org/eclipse/qvtd/cs2as/build/mwe/CSTracePropertyInjector.java169
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/.classpath1
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/.project6
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/.settings/org.eclipse.core.resources.prefs1
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/META-INF/MANIFEST.MF4
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/src/org/eclipse/qvtd/cs2as/xtext/generator/CS2ASOutlineTreeProviderFragment.java18
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/src/org/eclipse/qvtd/cs2as/xtext/generator/CS2ASOutlineTreeProviderFragment.xtend63
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/xtend-gen/org/eclipse/qvtd/cs2as/xtext/generator/.gitignore3
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.xtext.generator/xtend-gen/org/eclipse/qvtd/cs2as/xtext/generator/CS2ASOutlineTreeProviderFragment.java133
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/.classpath9
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/.project34
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/META-INF/MANIFEST.MF22
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/MiniOCLCSParsingTest.launch15
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/build.properties5
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/src-gen/org/eclipse/qvtd/doc/tests/MiniOCLCSInjectorProvider.java47
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/src/org/eclipse/qvtd/doc/tests/MiniOCLCSParsingTest.xtend65
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.tests/xtend-gen/org/eclipse/qvtd/doc/tests/.gitignore3
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/.classpath9
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/.project34
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/META-INF/MANIFEST.MF22
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/build.properties5
-rw-r--r--tests/org.eclipse.qvtd.doc.minioclcs.xtext.ui.tests/src-gen/org/eclipse/qvtd/doc/ui/tests/MiniOCLCSUiInjectorProvider.java17
309 files changed, 63051 insertions, 72 deletions
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/.classpath b/doc/org.eclipse.qvtd.doc.miniocl.build/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/.gitignore b/doc/org.eclipse.qvtd.doc.miniocl.build/.gitignore
new file mode 100644
index 000000000..177151f72
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/.antlr-generator-3.2.0-patch.jar
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/.project b/doc/org.eclipse.qvtd.doc.miniocl.build/.project
new file mode 100644
index 000000000..49bb305e6
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.qvtd.doc.miniocl.build</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/.settings/MiniOCL-BuildEverything.mwe2.launch b/doc/org.eclipse.qvtd.doc.miniocl.build/.settings/MiniOCL-BuildEverything.mwe2.launch
new file mode 100644
index 000000000..b2cb66826
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/.settings/MiniOCL-BuildEverything.mwe2.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.qvtd.doc.miniocl.build"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/qvtd/doc/miniocl/build/MiniOCL-BuildEverything.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.doc.miniocl.build"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/.settings/org.eclipse.jdt.core.prefs b/doc/org.eclipse.qvtd.doc.miniocl.build/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/META-INF/MANIFEST.MF b/doc/org.eclipse.qvtd.doc.miniocl.build/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..96f6213af
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: MiniOCL Example - Build Plugin
+Bundle-SymbolicName: org.eclipse.qvtd.doc.miniocl.build
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.emf.mwe2.launch;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.qvtd.cs2as.build;bundle-version="[0.13.0,1.0.0)",
+ org.eclipse.qvtd.doc.minioclcs.xtext;bundle-version="[0.13.0,1.0.0)",
+ org.eclipse.qvtd.doc.miniocl;bundle-version="[0.13.0,1.0.0)",
+ org.eclipse.ocl.examples.build;bundle-version="[2.1.0,3.0.0)"
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/build.properties b/doc/org.eclipse.qvtd.doc.miniocl.build/build.properties
new file mode 100644
index 000000000..34d2e4d2d
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/doc/org.eclipse.qvtd.doc.miniocl.build/src/org/eclipse/qvtd/doc/miniocl/build/MiniOCL-BuildEverything.mwe2 b/doc/org.eclipse.qvtd.doc.miniocl.build/src/org/eclipse/qvtd/doc/miniocl/build/MiniOCL-BuildEverything.mwe2
new file mode 100644
index 000000000..6f71949b3
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl.build/src/org/eclipse/qvtd/doc/miniocl/build/MiniOCL-BuildEverything.mwe2
@@ -0,0 +1,146 @@
+module org.eclipse.qvtd.doc.miniocl.build.MiniOCLBuildEverything
+
+Workflow {
+
+ bean = org.eclipse.emf.ecore.resource.impl.ResourceSetImpl : rSet {}
+ bean = org.eclipse.ocl.examples.build.utilities.ProjectMapSetup { resourceSet = rSet }
+ bean = org.eclipse.ocl.examples.build.utilities.EcoreGenModelSetup { resourceSet = rSet }
+
+ // We run the Xtext Generator
+ component = @org.eclipse.qvtd.doc.GenerateMiniOCLCS { }
+
+
+ // We inject the CS trace property
+ component = org.eclipse.qvtd.cs2as.build.mwe.CSTracePropertyInjector {
+ resourceSet = rSet
+ cSTraceInfo = org.eclipse.qvtd.cs2as.build.mwe.CSTracePropertyInjector.CSTraceInfo {
+ targetGenModel = "platform:/resource/org.eclipse.qvtd.doc.minioclcs.xtext/model/generated/MiniOCLCS.genmodel"
+ }
+ aSTraceType = org.eclipse.qvtd.cs2as.build.mwe.CSTracePropertyInjector.ASTraceInfo {
+ targetGenModel = "platform:/resource/org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel"
+ targetTypeName = "Element"
+ }
+ }
+
+ // We regenerate the CS model
+ component = org.eclipse.ocl.examples.build.utilities.GenerateModel { resourceSet = rSet
+ genModel = "/org.eclipse.qvtd.doc.minioclcs.xtext/model/generated/MiniOCLCS.genmodel"
+ }
+
+ // We regenerate the AS model
+ component = org.eclipse.ocl.examples.build.utilities.GenerateModel { resourceSet = rSet
+ genModel = "/org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel"
+ }
+
+ component = org.eclipse.ocl.examples.build.xtend.GenerateASVisitors { resourceSet = rSet
+ projectName = "org.eclipse.qvtd.doc.miniocl"
+ genModelFile = "model/MiniOCL.genmodel"
+ }
+
+ // We regenerate the AS Lookup model
+ component = org.eclipse.ocl.examples.build.utilities.GenerateModel { resourceSet = rSet
+ genModel = "/org.eclipse.qvtd.doc.miniocl/model/Lookup.genmodel"
+ }
+
+ // We generate the AS Lookup infrastructure
+ component = @SubGenerateAutoASModel { resourceSet = rSet
+ projectName = "org.eclipse.qvtd.doc.miniocl"
+ genModelFile = "model/MiniOCL.genmodel"
+ lookupFilePath = "platform:/resource/org.eclipse.qvtd.doc.minioclcs.xtext/model/MiniOCLCS2ASLookup.ocl"
+ }
+
+
+ // We generate the CS2AS infrastructure
+
+ component = org.eclipse.ocl.examples.build.utilities.CopyAndRename {
+ script = "org.eclipse.qvtd.doc.miniocl.build.MiniOCLBuildEverything"
+ fromProject = "../../plugins/org.eclipse.qvtd.runtime/src"
+ toProject = "../org.eclipse.qvtd.doc.minioclcs.xtext/src-gen"
+ packageCopy = {
+ from = "org.eclipse.qvtd.runtime.internal.cs2as"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+ packageCopy = {
+ from = "org.eclipse.qvtd.runtime.evaluation"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+ packageCopy = {
+ from = "org.eclipse.qvtd.runtime.internal.evaluation"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.internal.tx"
+ }
+ packageCopy = {
+ from = "org.eclipse.qvtd.runtime.labels"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtexts.labels"
+ }
+ packageCopy = {
+ from = "org.eclipse.qvtd.runtime.library.model"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.library.model"
+ }
+
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.internal.cs2as"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.evaluation"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.internal.evaluation"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.internal.tx"
+ }
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.labels"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.labels"
+ }
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.library.model"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.library.model"
+ }
+ }
+
+ component = org.eclipse.ocl.examples.build.utilities.CopyAndRename {
+ script = "org.eclipse.qvtd.doc.miniocl.build.MiniOCLBuildEverything"
+ fromProject = "../../plugins/org.eclipse.qvtd.cs2as.xtext.runtime/src"
+ toProject = "../org.eclipse.qvtd.doc.minioclcs.xtext/src-gen"
+ packageCopy = {
+ from = "org.eclipse.qvtd.cs2as.xtext.runtime"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.internal.cs2as"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+ }
+
+ bean = org.eclipse.emf.ecore.resource.impl.ResourceSetImpl : rSet2 {}
+ bean = org.eclipse.ocl.examples.build.utilities.ProjectMapSetup { resourceSet = rSet2 }
+ bean = org.eclipse.ocl.examples.build.utilities.EcoreGenModelSetup { resourceSet = rSet2 }
+
+ component = org.eclipse.ocl.examples.build.utilities.GenerateCGedQVTiTransformation {
+ resourceSet = rSet2
+ oclDocURI = "platform:/resource/org.eclipse.qvtd.doc.minioclcs.xtext/model/MiniOCLCS2AS.ocl"
+ javaFolder = "../org.eclipse.qvtd.doc.minioclcs.xtext/src-gen"
+ javaPackage = "org.eclipse.qvtd.doc.minioclcs.xtext"
+ lookupSolverClassName = "org.eclipse.qvtd.doc.miniocl.lookup.util.MiniOCLLookupSolver"
+ lookupResultItfName = "org.eclipse.qvtd.doc.miniocl.lookup.util.MiniOCLLookupResult"
+
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.library.model"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.library.model"
+ }
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.internal.cs2as"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.evaluation"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.tx"
+ }
+ packageRename = {
+ from = "org.eclipse.qvtd.runtime.internal.evaluation"
+ to = "org.eclipse.qvtd.doc.minioclcs.xtext.internal.tx"
+ }
+ }
+} \ No newline at end of file
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/.classpath b/doc/org.eclipse.qvtd.doc.miniocl/.classpath
new file mode 100644
index 000000000..ae5ac425e
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="emf-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/.gitignore b/doc/org.eclipse.qvtd.doc.miniocl/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/.project b/doc/org.eclipse.qvtd.doc.miniocl/.project
new file mode 100644
index 000000000..7ee986dbc
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.qvtd.doc.miniocl</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/META-INF/MANIFEST.MF b/doc/org.eclipse.qvtd.doc.miniocl/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..fbbc9cada
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: uk.ac.york.cs.miniocl
+Bundle-SymbolicName: org.eclipse.qvtd.doc.miniocl;singleton:=true
+Bundle-Version: 0.13.0.qualifier
+Require-Bundle: org.eclipse.emf.ecore,
+ org.eclipse.ocl.pivot;bundle-version="[1.1.0,2.0.0)"
+Export-Package: org.eclipse.qvtd.doc.miniocl,
+ org.eclipse.qvtd.doc.miniocl.impl,
+ org.eclipse.qvtd.doc.miniocl.lookup,
+ org.eclipse.qvtd.doc.miniocl.lookup.impl,
+ org.eclipse.qvtd.doc.miniocl.lookup.util,
+ org.eclipse.qvtd.doc.miniocl.util
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/build.properties b/doc/org.eclipse.qvtd.doc.miniocl/build.properties
new file mode 100644
index 000000000..88328ff77
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/build.properties
@@ -0,0 +1,10 @@
+#
+
+bin.includes = .,\
+ model/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = emf-gen/
+output.. = bin/
+additional.bundles = org.eclipse.jdt.annotation
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/CallExp.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/CallExp.java
new file mode 100644
index 000000000..8cae98bba
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/CallExp.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Call Exp</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.CallExp#getOwnedSource <em>Owned Source</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getCallExp()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CallExp extends OCLExpression {
+ /**
+ * Returns the value of the '<em><b>Owned Source</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Source</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Source</em>' containment reference.
+ * @see #setOwnedSource(OCLExpression)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getCallExp_OwnedSource()
+ * @model containment="true" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!CallExp!ownedSource'"
+ * @generated
+ */
+ OCLExpression getOwnedSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.CallExp#getOwnedSource <em>Owned Source</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owned Source</em>' containment reference.
+ * @see #getOwnedSource()
+ * @generated
+ */
+ void setOwnedSource(OCLExpression value);
+
+} // CallExp
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Class.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Class.java
new file mode 100644
index 000000000..93aeef0b3
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Class.java
@@ -0,0 +1,106 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Class</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Class#getSuperClass <em>Super Class</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Class#getOwnedOperations <em>Owned Operations</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Class#getOwnedProperties <em>Owned Properties</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Class#getOwnedInvariants <em>Owned Invariants</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getClass_()
+ * @model
+ * @generated
+ */
+public interface Class extends NamedElement {
+ /**
+ * Returns the value of the '<em><b>Super Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Super Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Super Class</em>' reference.
+ * @see #setSuperClass(Class)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getClass_SuperClass()
+ * @model annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Class!superClass'"
+ * @generated
+ */
+ Class getSuperClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.Class#getSuperClass <em>Super Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Super Class</em>' reference.
+ * @see #getSuperClass()
+ * @generated
+ */
+ void setSuperClass(Class value);
+
+ /**
+ * Returns the value of the '<em><b>Owned Operations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.Operation}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwningClass <em>Owning Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Operations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Operations</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getClass_OwnedOperations()
+ * @see org.eclipse.qvtd.doc.miniocl.Operation#getOwningClass
+ * @model opposite="owningClass" containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Class!ownedOperations'"
+ * @generated
+ */
+ EList<Operation> getOwnedOperations();
+
+ /**
+ * Returns the value of the '<em><b>Owned Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.Property}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Properties</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Properties</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getClass_OwnedProperties()
+ * @model containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Class!ownedProperties'"
+ * @generated
+ */
+ EList<Property> getOwnedProperties();
+
+ /**
+ * Returns the value of the '<em><b>Owned Invariants</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.Constraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Invariants</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Invariants</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getClass_OwnedInvariants()
+ * @model containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Class!ownedInvariants'"
+ * @generated
+ */
+ EList<Constraint> getOwnedInvariants();
+
+} // Class
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Constraint.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Constraint.java
new file mode 100644
index 000000000..d38b3c9e5
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Constraint.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Constraint#getOwnedSpecification <em>Owned Specification</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getConstraint()
+ * @model
+ * @generated
+ */
+public interface Constraint extends NamedElement {
+ /**
+ * Returns the value of the '<em><b>Owned Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Specification</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Specification</em>' reference.
+ * @see #setOwnedSpecification(ExpressionInOCL)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getConstraint_OwnedSpecification()
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Constraint!ownedSpecification'"
+ * @generated
+ */
+ ExpressionInOCL getOwnedSpecification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.Constraint#getOwnedSpecification <em>Owned Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owned Specification</em>' reference.
+ * @see #getOwnedSpecification()
+ * @generated
+ */
+ void setOwnedSpecification(ExpressionInOCL value);
+
+} // Constraint
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Element.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Element.java
new file mode 100644
index 000000000..f41af0575
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Element.java
@@ -0,0 +1,20 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.qvtd.doc.miniocl.util.Visitable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getElement()
+ * @model abstract="true" superTypes="org.eclipse.qvtd.doc.miniocl.Visitable"
+ * @generated
+ */
+public interface Element extends EObject, Visitable {
+} // Element
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/ExpressionInOCL.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/ExpressionInOCL.java
new file mode 100644
index 000000000..b349e8b80
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/ExpressionInOCL.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression In OCL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedSelfVar <em>Owned Self Var</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedBody <em>Owned Body</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getExpressionInOCL()
+ * @model
+ * @generated
+ */
+public interface ExpressionInOCL extends Element {
+ /**
+ * Returns the value of the '<em><b>Owned Self Var</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Self Var</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Self Var</em>' containment reference.
+ * @see #setOwnedSelfVar(Variable)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getExpressionInOCL_OwnedSelfVar()
+ * @model containment="true" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!ExpressionInOCL!ownedSelfVar'"
+ * @generated
+ */
+ Variable getOwnedSelfVar();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedSelfVar <em>Owned Self Var</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owned Self Var</em>' containment reference.
+ * @see #getOwnedSelfVar()
+ * @generated
+ */
+ void setOwnedSelfVar(Variable value);
+
+ /**
+ * Returns the value of the '<em><b>Owned Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Body</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Body</em>' containment reference.
+ * @see #setOwnedBody(OCLExpression)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getExpressionInOCL_OwnedBody()
+ * @model containment="true" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!ExpressionInOCL!ownedBody'"
+ * @generated
+ */
+ OCLExpression getOwnedBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedBody <em>Owned Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owned Body</em>' containment reference.
+ * @see #getOwnedBody()
+ * @generated
+ */
+ void setOwnedBody(OCLExpression value);
+
+} // ExpressionInOCL
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Feature.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Feature.java
new file mode 100644
index 000000000..a1e5683a0
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Feature.java
@@ -0,0 +1,18 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getFeature()
+ * @model
+ * @generated
+ */
+public interface Feature extends NamedElement, TypedElement {
+
+} // Feature
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLFactory.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLFactory.java
new file mode 100644
index 000000000..7f2883530
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLFactory.java
@@ -0,0 +1,159 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage
+ * @generated
+ */
+public interface MiniOCLFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ MiniOCLFactory eINSTANCE = org.eclipse.qvtd.doc.miniocl.impl.MiniOCLFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>OCL Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>OCL Expression</em>'.
+ * @generated
+ */
+ OCLExpression createOCLExpression();
+
+ /**
+ * Returns a new object of class '<em>Root</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Root</em>'.
+ * @generated
+ */
+ Root createRoot();
+
+ /**
+ * Returns a new object of class '<em>Package</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Package</em>'.
+ * @generated
+ */
+ Package createPackage();
+
+ /**
+ * Returns a new object of class '<em>Class</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Class</em>'.
+ * @generated
+ */
+ Class createClass();
+
+ /**
+ * Returns a new object of class '<em>Feature</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Feature</em>'.
+ * @generated
+ */
+ Feature createFeature();
+
+ /**
+ * Returns a new object of class '<em>Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Property</em>'.
+ * @generated
+ */
+ Property createProperty();
+
+ /**
+ * Returns a new object of class '<em>Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operation</em>'.
+ * @generated
+ */
+ Operation createOperation();
+
+ /**
+ * Returns a new object of class '<em>Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Parameter</em>'.
+ * @generated
+ */
+ Parameter createParameter();
+
+ /**
+ * Returns a new object of class '<em>Property Call Exp</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Property Call Exp</em>'.
+ * @generated
+ */
+ PropertyCallExp createPropertyCallExp();
+
+ /**
+ * Returns a new object of class '<em>Operation Call Exp</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operation Call Exp</em>'.
+ * @generated
+ */
+ OperationCallExp createOperationCallExp();
+
+ /**
+ * Returns a new object of class '<em>Variable</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Variable</em>'.
+ * @generated
+ */
+ Variable createVariable();
+
+ /**
+ * Returns a new object of class '<em>Variable Exp</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Variable Exp</em>'.
+ * @generated
+ */
+ VariableExp createVariableExp();
+
+ /**
+ * Returns a new object of class '<em>Expression In OCL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expression In OCL</em>'.
+ * @generated
+ */
+ ExpressionInOCL createExpressionInOCL();
+
+ /**
+ * Returns a new object of class '<em>Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Constraint</em>'.
+ * @generated
+ */
+ Constraint createConstraint();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ MiniOCLPackage getMiniOCLPackage();
+
+} //MiniOCLFactory
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLPackage.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLPackage.java
new file mode 100644
index 000000000..02a85dcf8
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLPackage.java
@@ -0,0 +1,1815 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface MiniOCLPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "miniocl";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/qvtd/doc/MiniOCL/1.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "mocl";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ MiniOCLPackage eINSTANCE = org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.util.Visitable <em>Visitable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.util.Visitable
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getVisitable()
+ * @generated
+ */
+ int VISITABLE = 16;
+
+ /**
+ * The number of structural features of the '<em>Visitable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VISITABLE_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Visitable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VISITABLE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ElementImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getElement()
+ * @generated
+ */
+ int ELEMENT = 2;
+
+ /**
+ * The number of structural features of the '<em>Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_FEATURE_COUNT = VISITABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_OPERATION_COUNT = VISITABLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.NamedElementImpl <em>Named Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.NamedElementImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getNamedElement()
+ * @generated
+ */
+ int NAMED_ELEMENT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.NamespaceImpl <em>Namespace</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.NamespaceImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getNamespace()
+ * @generated
+ */
+ int NAMESPACE = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.TypedElementImpl <em>Typed Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.TypedElementImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getTypedElement()
+ * @generated
+ */
+ int TYPED_ELEMENT = 17;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT__TYPE = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Typed Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Typed Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.OCLExpressionImpl <em>OCL Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.OCLExpressionImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getOCLExpression()
+ * @generated
+ */
+ int OCL_EXPRESSION = 6;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_EXPRESSION__TYPE = TYPED_ELEMENT__TYPE;
+
+ /**
+ * The number of structural features of the '<em>OCL Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_EXPRESSION_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>OCL Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_EXPRESSION_OPERATION_COUNT = TYPED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.CallExpImpl <em>Call Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.CallExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getCallExp()
+ * @generated
+ */
+ int CALL_EXP = 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_EXP__TYPE = OCL_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Owned Source</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_EXP__OWNED_SOURCE = OCL_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Call Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_EXP_FEATURE_COUNT = OCL_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Call Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_EXP_OPERATION_COUNT = OCL_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_ELEMENT__NAME = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Named Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Named Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_ELEMENT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.RootImpl <em>Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.RootImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getRoot()
+ * @generated
+ */
+ int ROOT = 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.PackageImpl <em>Package</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.PackageImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getPackage()
+ * @generated
+ */
+ int PACKAGE = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ClassImpl <em>Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ClassImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getClass_()
+ * @generated
+ */
+ int CLASS = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS__NAME = NAMED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Super Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS__SUPER_CLASS = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Owned Operations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS__OWNED_OPERATIONS = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Owned Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS__OWNED_PROPERTIES = NAMED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Owned Invariants</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS__OWNED_INVARIANTS = NAMED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Class</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Class</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.FeatureImpl <em>Feature</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.FeatureImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getFeature()
+ * @generated
+ */
+ int FEATURE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__NAME = NAMED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Feature</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Feature</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Namespace</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Namespace</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.PropertyImpl <em>Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.PropertyImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getProperty()
+ * @generated
+ */
+ int PROPERTY = 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.OperationImpl <em>Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.OperationImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getOperation()
+ * @generated
+ */
+ int OPERATION = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.VariableImpl <em>Variable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.VariableImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getVariable()
+ * @generated
+ */
+ int VARIABLE = 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ParameterImpl <em>Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ParameterImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getParameter()
+ * @generated
+ */
+ int PARAMETER = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.PropertyCallExpImpl <em>Property Call Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.PropertyCallExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getPropertyCallExp()
+ * @generated
+ */
+ int PROPERTY_CALL_EXP = 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.OperationCallExpImpl <em>Operation Call Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.OperationCallExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getOperationCallExp()
+ * @generated
+ */
+ int OPERATION_CALL_EXP = 7;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXP__TYPE = CALL_EXP__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Owned Source</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXP__OWNED_SOURCE = CALL_EXP__OWNED_SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Owned Arguments</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXP__OWNED_ARGUMENTS = CALL_EXP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Referred Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXP__REFERRED_OPERATION = CALL_EXP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Operation Call Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXP_FEATURE_COUNT = CALL_EXP_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Operation Call Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXP_OPERATION_COUNT = CALL_EXP_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__NAME = FEATURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__TYPE = FEATURE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Owned Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__OWNED_PARAMETERS = FEATURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Owning Class</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__OWNING_CLASS = FEATURE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Owned Body Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__OWNED_BODY_EXPRESSION = FEATURE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_FEATURE_COUNT = FEATURE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_OPERATION_COUNT = FEATURE_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE__NAME = NAMED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Owned Classes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE__OWNED_CLASSES = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Owned Packages</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE__OWNED_PACKAGES = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Package</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Package</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE__NAME = NAMED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Variable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Variable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER__NAME = VARIABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER__TYPE = VARIABLE__TYPE;
+
+ /**
+ * The number of structural features of the '<em>Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_FEATURE_COUNT = VARIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_OPERATION_COUNT = VARIABLE_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY__NAME = FEATURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY__TYPE = FEATURE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Owning Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY__OWNING_CLASS = FEATURE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_FEATURE_COUNT = FEATURE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_OPERATION_COUNT = FEATURE_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXP__TYPE = CALL_EXP__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Owned Source</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXP__OWNED_SOURCE = CALL_EXP__OWNED_SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Referred Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXP__REFERRED_PROPERTY = CALL_EXP_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Property Call Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXP_FEATURE_COUNT = CALL_EXP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Property Call Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXP_OPERATION_COUNT = CALL_EXP_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Owned Packages</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__OWNED_PACKAGES = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.VariableExpImpl <em>Variable Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.VariableExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getVariableExp()
+ * @generated
+ */
+ int VARIABLE_EXP = 15;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_EXP__TYPE = OCL_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Referred Variable</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_EXP__REFERRED_VARIABLE = OCL_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Variable Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_EXP_FEATURE_COUNT = OCL_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Variable Exp</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_EXP_OPERATION_COUNT = OCL_EXPRESSION_OPERATION_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ExpressionInOCLImpl <em>Expression In OCL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ExpressionInOCLImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getExpressionInOCL()
+ * @generated
+ */
+ int EXPRESSION_IN_OCL = 18;
+
+ /**
+ * The feature id for the '<em><b>Owned Self Var</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_IN_OCL__OWNED_SELF_VAR = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Owned Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_IN_OCL__OWNED_BODY = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Expression In OCL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_IN_OCL_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Expression In OCL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_IN_OCL_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ConstraintImpl <em>Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ConstraintImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getConstraint()
+ * @generated
+ */
+ int CONSTRAINT = 19;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTRAINT__NAME = NAMED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Owned Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTRAINT__OWNED_SPECIFICATION = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTRAINT_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTRAINT_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Element <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Element</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Element
+ * @generated
+ */
+ EClass getElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Feature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Feature
+ * @generated
+ */
+ EClass getFeature();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.NamedElement <em>Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Named Element</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.NamedElement
+ * @generated
+ */
+ EClass getNamedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.doc.miniocl.NamedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.NamedElement#getName()
+ * @see #getNamedElement()
+ * @generated
+ */
+ EAttribute getNamedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Namespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Namespace</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Namespace
+ * @generated
+ */
+ EClass getNamespace();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.TypedElement <em>Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Typed Element</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.TypedElement
+ * @generated
+ */
+ EClass getTypedElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.TypedElement#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.TypedElement#getType()
+ * @see #getTypedElement()
+ * @generated
+ */
+ EReference getTypedElement_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL <em>Expression In OCL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expression In OCL</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.ExpressionInOCL
+ * @generated
+ */
+ EClass getExpressionInOCL();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedSelfVar <em>Owned Self Var</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Owned Self Var</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedSelfVar()
+ * @see #getExpressionInOCL()
+ * @generated
+ */
+ EReference getExpressionInOCL_OwnedSelfVar();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedBody <em>Owned Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Owned Body</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.ExpressionInOCL#getOwnedBody()
+ * @see #getExpressionInOCL()
+ * @generated
+ */
+ EReference getExpressionInOCL_OwnedBody();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Constraint <em>Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Constraint</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Constraint
+ * @generated
+ */
+ EClass getConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.Constraint#getOwnedSpecification <em>Owned Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Owned Specification</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Constraint#getOwnedSpecification()
+ * @see #getConstraint()
+ * @generated
+ */
+ EReference getConstraint_OwnedSpecification();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.OCLExpression <em>OCL Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>OCL Expression</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.OCLExpression
+ * @generated
+ */
+ EClass getOCLExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.CallExp <em>Call Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Call Exp</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.CallExp
+ * @generated
+ */
+ EClass getCallExp();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.doc.miniocl.CallExp#getOwnedSource <em>Owned Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Owned Source</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.CallExp#getOwnedSource()
+ * @see #getCallExp()
+ * @generated
+ */
+ EReference getCallExp_OwnedSource();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Root <em>Root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Root</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Root
+ * @generated
+ */
+ EClass getRoot();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.Root#getOwnedPackages <em>Owned Packages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Packages</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Root#getOwnedPackages()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_OwnedPackages();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Package <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Package</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Package
+ * @generated
+ */
+ EClass getPackage();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.Package#getOwnedClasses <em>Owned Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Classes</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Package#getOwnedClasses()
+ * @see #getPackage()
+ * @generated
+ */
+ EReference getPackage_OwnedClasses();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.Package#getOwnedPackages <em>Owned Packages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Packages</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Package#getOwnedPackages()
+ * @see #getPackage()
+ * @generated
+ */
+ EReference getPackage_OwnedPackages();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Class <em>Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Class</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Class
+ * @generated
+ */
+ EClass getClass_();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.Class#getSuperClass <em>Super Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Super Class</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Class#getSuperClass()
+ * @see #getClass_()
+ * @generated
+ */
+ EReference getClass_SuperClass();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.Class#getOwnedOperations <em>Owned Operations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Operations</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Class#getOwnedOperations()
+ * @see #getClass_()
+ * @generated
+ */
+ EReference getClass_OwnedOperations();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.Class#getOwnedProperties <em>Owned Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Properties</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Class#getOwnedProperties()
+ * @see #getClass_()
+ * @generated
+ */
+ EReference getClass_OwnedProperties();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.Class#getOwnedInvariants <em>Owned Invariants</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Invariants</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Class#getOwnedInvariants()
+ * @see #getClass_()
+ * @generated
+ */
+ EReference getClass_OwnedInvariants();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Property <em>Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Property</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Property
+ * @generated
+ */
+ EClass getProperty();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.Property#getOwningClass <em>Owning Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Owning Class</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Property#getOwningClass()
+ * @see #getProperty()
+ * @generated
+ */
+ EReference getProperty_OwningClass();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Operation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operation</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Operation
+ * @generated
+ */
+ EClass getOperation();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwnedParameters <em>Owned Parameters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Parameters</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Operation#getOwnedParameters()
+ * @see #getOperation()
+ * @generated
+ */
+ EReference getOperation_OwnedParameters();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwningClass <em>Owning Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Owning Class</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Operation#getOwningClass()
+ * @see #getOperation()
+ * @generated
+ */
+ EReference getOperation_OwningClass();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwnedBodyExpression <em>Owned Body Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Owned Body Expression</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Operation#getOwnedBodyExpression()
+ * @see #getOperation()
+ * @generated
+ */
+ EReference getOperation_OwnedBodyExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Parameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parameter</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Parameter
+ * @generated
+ */
+ EClass getParameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.PropertyCallExp <em>Property Call Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Property Call Exp</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.PropertyCallExp
+ * @generated
+ */
+ EClass getPropertyCallExp();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.PropertyCallExp#getReferredProperty <em>Referred Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Referred Property</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.PropertyCallExp#getReferredProperty()
+ * @see #getPropertyCallExp()
+ * @generated
+ */
+ EReference getPropertyCallExp_ReferredProperty();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.OperationCallExp <em>Operation Call Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operation Call Exp</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.OperationCallExp
+ * @generated
+ */
+ EClass getOperationCallExp();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.doc.miniocl.OperationCallExp#getOwnedArguments <em>Owned Arguments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Arguments</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.OperationCallExp#getOwnedArguments()
+ * @see #getOperationCallExp()
+ * @generated
+ */
+ EReference getOperationCallExp_OwnedArguments();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.OperationCallExp#getReferredOperation <em>Referred Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Referred Operation</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.OperationCallExp#getReferredOperation()
+ * @see #getOperationCallExp()
+ * @generated
+ */
+ EReference getOperationCallExp_ReferredOperation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.Variable <em>Variable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Variable</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.Variable
+ * @generated
+ */
+ EClass getVariable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.VariableExp <em>Variable Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Variable Exp</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.VariableExp
+ * @generated
+ */
+ EClass getVariableExp();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.VariableExp#getReferredVariable <em>Referred Variable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Referred Variable</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.VariableExp#getReferredVariable()
+ * @see #getVariableExp()
+ * @generated
+ */
+ EReference getVariableExp_ReferredVariable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.util.Visitable <em>Visitable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Visitable</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.util.Visitable
+ * @model instanceClass="org.eclipse.qvtd.doc.miniocl.util.Visitable"
+ * @generated
+ */
+ EClass getVisitable();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ MiniOCLFactory getMiniOCLFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ElementImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getElement()
+ * @generated
+ */
+ EClass ELEMENT = eINSTANCE.getElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.FeatureImpl <em>Feature</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.FeatureImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getFeature()
+ * @generated
+ */
+ EClass FEATURE = eINSTANCE.getFeature();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.NamedElementImpl <em>Named Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.NamedElementImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getNamedElement()
+ * @generated
+ */
+ EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.NamespaceImpl <em>Namespace</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.NamespaceImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getNamespace()
+ * @generated
+ */
+ EClass NAMESPACE = eINSTANCE.getNamespace();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.TypedElementImpl <em>Typed Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.TypedElementImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getTypedElement()
+ * @generated
+ */
+ EClass TYPED_ELEMENT = eINSTANCE.getTypedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TYPED_ELEMENT__TYPE = eINSTANCE.getTypedElement_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ExpressionInOCLImpl <em>Expression In OCL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ExpressionInOCLImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getExpressionInOCL()
+ * @generated
+ */
+ EClass EXPRESSION_IN_OCL = eINSTANCE.getExpressionInOCL();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Self Var</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION_IN_OCL__OWNED_SELF_VAR = eINSTANCE.getExpressionInOCL_OwnedSelfVar();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Body</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION_IN_OCL__OWNED_BODY = eINSTANCE.getExpressionInOCL_OwnedBody();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ConstraintImpl <em>Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ConstraintImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getConstraint()
+ * @generated
+ */
+ EClass CONSTRAINT = eINSTANCE.getConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Specification</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONSTRAINT__OWNED_SPECIFICATION = eINSTANCE.getConstraint_OwnedSpecification();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.OCLExpressionImpl <em>OCL Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.OCLExpressionImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getOCLExpression()
+ * @generated
+ */
+ EClass OCL_EXPRESSION = eINSTANCE.getOCLExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.CallExpImpl <em>Call Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.CallExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getCallExp()
+ * @generated
+ */
+ EClass CALL_EXP = eINSTANCE.getCallExp();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Source</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CALL_EXP__OWNED_SOURCE = eINSTANCE.getCallExp_OwnedSource();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.RootImpl <em>Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.RootImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getRoot()
+ * @generated
+ */
+ EClass ROOT = eINSTANCE.getRoot();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Packages</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__OWNED_PACKAGES = eINSTANCE.getRoot_OwnedPackages();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.PackageImpl <em>Package</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.PackageImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getPackage()
+ * @generated
+ */
+ EClass PACKAGE = eINSTANCE.getPackage();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Classes</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PACKAGE__OWNED_CLASSES = eINSTANCE.getPackage_OwnedClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Packages</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PACKAGE__OWNED_PACKAGES = eINSTANCE.getPackage_OwnedPackages();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ClassImpl <em>Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ClassImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getClass_()
+ * @generated
+ */
+ EClass CLASS = eINSTANCE.getClass_();
+
+ /**
+ * The meta object literal for the '<em><b>Super Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASS__SUPER_CLASS = eINSTANCE.getClass_SuperClass();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Operations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASS__OWNED_OPERATIONS = eINSTANCE.getClass_OwnedOperations();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASS__OWNED_PROPERTIES = eINSTANCE.getClass_OwnedProperties();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Invariants</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASS__OWNED_INVARIANTS = eINSTANCE.getClass_OwnedInvariants();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.PropertyImpl <em>Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.PropertyImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getProperty()
+ * @generated
+ */
+ EClass PROPERTY = eINSTANCE.getProperty();
+
+ /**
+ * The meta object literal for the '<em><b>Owning Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY__OWNING_CLASS = eINSTANCE.getProperty_OwningClass();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.OperationImpl <em>Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.OperationImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getOperation()
+ * @generated
+ */
+ EClass OPERATION = eINSTANCE.getOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Parameters</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION__OWNED_PARAMETERS = eINSTANCE.getOperation_OwnedParameters();
+
+ /**
+ * The meta object literal for the '<em><b>Owning Class</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION__OWNING_CLASS = eINSTANCE.getOperation_OwningClass();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Body Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION__OWNED_BODY_EXPRESSION = eINSTANCE.getOperation_OwnedBodyExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.ParameterImpl <em>Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.ParameterImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getParameter()
+ * @generated
+ */
+ EClass PARAMETER = eINSTANCE.getParameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.PropertyCallExpImpl <em>Property Call Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.PropertyCallExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getPropertyCallExp()
+ * @generated
+ */
+ EClass PROPERTY_CALL_EXP = eINSTANCE.getPropertyCallExp();
+
+ /**
+ * The meta object literal for the '<em><b>Referred Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_CALL_EXP__REFERRED_PROPERTY = eINSTANCE.getPropertyCallExp_ReferredProperty();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.OperationCallExpImpl <em>Operation Call Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.OperationCallExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getOperationCallExp()
+ * @generated
+ */
+ EClass OPERATION_CALL_EXP = eINSTANCE.getOperationCallExp();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Arguments</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION_CALL_EXP__OWNED_ARGUMENTS = eINSTANCE.getOperationCallExp_OwnedArguments();
+
+ /**
+ * The meta object literal for the '<em><b>Referred Operation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION_CALL_EXP__REFERRED_OPERATION = eINSTANCE.getOperationCallExp_ReferredOperation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.VariableImpl <em>Variable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.VariableImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getVariable()
+ * @generated
+ */
+ EClass VARIABLE = eINSTANCE.getVariable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.impl.VariableExpImpl <em>Variable Exp</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.impl.VariableExpImpl
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getVariableExp()
+ * @generated
+ */
+ EClass VARIABLE_EXP = eINSTANCE.getVariableExp();
+
+ /**
+ * The meta object literal for the '<em><b>Referred Variable</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABLE_EXP__REFERRED_VARIABLE = eINSTANCE.getVariableExp_ReferredVariable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.util.Visitable <em>Visitable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.util.Visitable
+ * @see org.eclipse.qvtd.doc.miniocl.impl.MiniOCLPackageImpl#getVisitable()
+ * @generated
+ */
+ EClass VISITABLE = eINSTANCE.getVisitable();
+
+ }
+
+} //MiniOCLPackage
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLTables.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLTables.java
new file mode 100644
index 000000000..4d9e525b6
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/MiniOCLTables.java
@@ -0,0 +1,1746 @@
+/*******************************************************************************
+ *************************************************************************
+ * This code is 100% auto-generated
+ * from:
+ * /org.eclipse.qvtd.doc.miniocl/model/MiniOCL.ecore
+ * using:
+ * /org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * org.eclipse.ocl.examples.codegen.oclinecore.OCLinEcoreTables
+ *
+ * Do not edit it.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorPackage;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorProperty;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorType;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreLibraryOppositeProperty;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorFragment;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorOperation;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorProperty;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorPropertyWithImplementation;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorStandardLibrary;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorType;
+import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibTables;
+
+/**
+ * MiniOCLTables provides the dispatch tables for the miniocl for use by the OCL dispatcher.
+ *
+ * In order to ensure correct static initialization, a top level class element must be accessed
+ * before any nested class element. Therefore an access to PACKAGE.getClass() is recommended.
+ */
+@SuppressWarnings("nls")
+public class MiniOCLTables
+{
+ static {
+ Init.initStart();
+ }
+
+ /**
+ * The package descriptor for the package.
+ */
+ public static final @NonNull EcoreExecutorPackage PACKAGE = new EcoreExecutorPackage(MiniOCLPackage.eINSTANCE);
+
+ /**
+ * The library of all packages and types.
+ */
+ public static final @NonNull ExecutorStandardLibrary LIBRARY = OCLstdlibTables.LIBRARY;
+
+ /**
+ * Constants used by auto-generated code.
+ */
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0 = org.eclipse.ocl.pivot.ids.IdManager.getNsURIPackageId("http://www.eclipse.org/qvtd/doc/MiniOCL/1.0", null, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.eINSTANCE);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_CallExp = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("CallExp", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Class = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Class", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Constraint = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Constraint", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_ExpressionInOCL = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("ExpressionInOCL", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_OCLExpression = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("OCLExpression", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Operation = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Operation", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_OperationCallExp = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("OperationCallExp", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Package = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Package", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Parameter = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Parameter", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Property = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Property", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_PropertyCallExp = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("PropertyCallExp", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Root = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Root", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_TypedElement = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("TypedElement", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Variable = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Variable", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_VariableExp = org.eclipse.qvtd.doc.miniocl.MiniOCLTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("VariableExp", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_Class = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Class);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_Constraint = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Constraint);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_OperationCallExp = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_OperationCallExp);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_Property = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Property);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_PropertyCallExp = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_PropertyCallExp);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_TypedElement = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_TypedElement);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_VariableExp = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_VariableExp);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_Class = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Class);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_Constraint = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Constraint);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_OCLExpression = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_OCLExpression);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_Operation = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Operation);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_Package = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Package);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_Parameter = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Parameter);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_Property = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.MiniOCLTables.CLSSid_Property);
+
+ /**
+ * The type parameters for templated types and operations.
+ */
+ public static class TypeParameters {
+ static {
+ Init.initStart();
+ MiniOCLTables.init();
+ }
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::TypeParameters and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The type descriptors for each type.
+ */
+ public static class Types {
+ static {
+ Init.initStart();
+ TypeParameters.init();
+ }
+
+ public static final @NonNull EcoreExecutorType _CallExp = new EcoreExecutorType(MiniOCLPackage.Literals.CALL_EXP, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _Class = new EcoreExecutorType(MiniOCLPackage.Literals.CLASS, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Constraint = new EcoreExecutorType(MiniOCLPackage.Literals.CONSTRAINT, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Element = new EcoreExecutorType(MiniOCLPackage.Literals.ELEMENT, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _ExpressionInOCL = new EcoreExecutorType(MiniOCLPackage.Literals.EXPRESSION_IN_OCL, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Feature = new EcoreExecutorType(MiniOCLPackage.Literals.FEATURE, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _NamedElement = new EcoreExecutorType(MiniOCLPackage.Literals.NAMED_ELEMENT, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _Namespace = new EcoreExecutorType(MiniOCLPackage.Literals.NAMESPACE, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _OCLExpression = new EcoreExecutorType(MiniOCLPackage.Literals.OCL_EXPRESSION, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Operation = new EcoreExecutorType(MiniOCLPackage.Literals.OPERATION, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _OperationCallExp = new EcoreExecutorType(MiniOCLPackage.Literals.OPERATION_CALL_EXP, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Package = new EcoreExecutorType(MiniOCLPackage.Literals.PACKAGE, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Parameter = new EcoreExecutorType(MiniOCLPackage.Literals.PARAMETER, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Property = new EcoreExecutorType(MiniOCLPackage.Literals.PROPERTY, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _PropertyCallExp = new EcoreExecutorType(MiniOCLPackage.Literals.PROPERTY_CALL_EXP, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Root = new EcoreExecutorType(MiniOCLPackage.Literals.ROOT, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _TypedElement = new EcoreExecutorType(MiniOCLPackage.Literals.TYPED_ELEMENT, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _Variable = new EcoreExecutorType(MiniOCLPackage.Literals.VARIABLE, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _VariableExp = new EcoreExecutorType(MiniOCLPackage.Literals.VARIABLE_EXP, PACKAGE, 0);
+ public static final @NonNull EcoreExecutorType _Visitable = new EcoreExecutorType(MiniOCLPackage.Literals.VISITABLE, PACKAGE, 0 | ExecutorType.ABSTRACT);
+
+ private static final @NonNull EcoreExecutorType @NonNull [] types = {
+ _CallExp,
+ _Class,
+ _Constraint,
+ _Element,
+ _ExpressionInOCL,
+ _Feature,
+ _NamedElement,
+ _Namespace,
+ _OCLExpression,
+ _Operation,
+ _OperationCallExp,
+ _Package,
+ _Parameter,
+ _Property,
+ _PropertyCallExp,
+ _Root,
+ _TypedElement,
+ _Variable,
+ _VariableExp,
+ _Visitable
+ };
+
+ /*
+ * Install the type descriptors in the package descriptor.
+ */
+ static {
+ PACKAGE.init(LIBRARY, types);
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::Types and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The fragment descriptors for the local elements of each type and its supertypes.
+ */
+ public static class Fragments {
+ static {
+ Init.initStart();
+ Types.init();
+ }
+
+ private static final @NonNull ExecutorFragment _CallExp__CallExp = new ExecutorFragment(Types._CallExp, MiniOCLTables.Types._CallExp);
+ private static final @NonNull ExecutorFragment _CallExp__Element = new ExecutorFragment(Types._CallExp, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _CallExp__OCLExpression = new ExecutorFragment(Types._CallExp, MiniOCLTables.Types._OCLExpression);
+ private static final @NonNull ExecutorFragment _CallExp__OclAny = new ExecutorFragment(Types._CallExp, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _CallExp__OclElement = new ExecutorFragment(Types._CallExp, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _CallExp__TypedElement = new ExecutorFragment(Types._CallExp, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _CallExp__Visitable = new ExecutorFragment(Types._CallExp, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Class__Class = new ExecutorFragment(Types._Class, MiniOCLTables.Types._Class);
+ private static final @NonNull ExecutorFragment _Class__Element = new ExecutorFragment(Types._Class, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Class__NamedElement = new ExecutorFragment(Types._Class, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Class__OclAny = new ExecutorFragment(Types._Class, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Class__OclElement = new ExecutorFragment(Types._Class, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Class__Visitable = new ExecutorFragment(Types._Class, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Constraint__Constraint = new ExecutorFragment(Types._Constraint, MiniOCLTables.Types._Constraint);
+ private static final @NonNull ExecutorFragment _Constraint__Element = new ExecutorFragment(Types._Constraint, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Constraint__NamedElement = new ExecutorFragment(Types._Constraint, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Constraint__OclAny = new ExecutorFragment(Types._Constraint, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Constraint__OclElement = new ExecutorFragment(Types._Constraint, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Constraint__Visitable = new ExecutorFragment(Types._Constraint, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Element__Element = new ExecutorFragment(Types._Element, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Element__OclAny = new ExecutorFragment(Types._Element, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Element__OclElement = new ExecutorFragment(Types._Element, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Element__Visitable = new ExecutorFragment(Types._Element, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _ExpressionInOCL__Element = new ExecutorFragment(Types._ExpressionInOCL, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _ExpressionInOCL__ExpressionInOCL = new ExecutorFragment(Types._ExpressionInOCL, MiniOCLTables.Types._ExpressionInOCL);
+ private static final @NonNull ExecutorFragment _ExpressionInOCL__OclAny = new ExecutorFragment(Types._ExpressionInOCL, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _ExpressionInOCL__OclElement = new ExecutorFragment(Types._ExpressionInOCL, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _ExpressionInOCL__Visitable = new ExecutorFragment(Types._ExpressionInOCL, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Feature__Element = new ExecutorFragment(Types._Feature, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Feature__Feature = new ExecutorFragment(Types._Feature, MiniOCLTables.Types._Feature);
+ private static final @NonNull ExecutorFragment _Feature__NamedElement = new ExecutorFragment(Types._Feature, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Feature__OclAny = new ExecutorFragment(Types._Feature, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Feature__OclElement = new ExecutorFragment(Types._Feature, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Feature__TypedElement = new ExecutorFragment(Types._Feature, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _Feature__Visitable = new ExecutorFragment(Types._Feature, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _NamedElement__Element = new ExecutorFragment(Types._NamedElement, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _NamedElement__NamedElement = new ExecutorFragment(Types._NamedElement, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _NamedElement__OclAny = new ExecutorFragment(Types._NamedElement, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _NamedElement__OclElement = new ExecutorFragment(Types._NamedElement, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _NamedElement__Visitable = new ExecutorFragment(Types._NamedElement, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Namespace__Element = new ExecutorFragment(Types._Namespace, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Namespace__Namespace = new ExecutorFragment(Types._Namespace, MiniOCLTables.Types._Namespace);
+ private static final @NonNull ExecutorFragment _Namespace__OclAny = new ExecutorFragment(Types._Namespace, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Namespace__OclElement = new ExecutorFragment(Types._Namespace, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Namespace__Visitable = new ExecutorFragment(Types._Namespace, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _OCLExpression__Element = new ExecutorFragment(Types._OCLExpression, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _OCLExpression__OCLExpression = new ExecutorFragment(Types._OCLExpression, MiniOCLTables.Types._OCLExpression);
+ private static final @NonNull ExecutorFragment _OCLExpression__OclAny = new ExecutorFragment(Types._OCLExpression, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _OCLExpression__OclElement = new ExecutorFragment(Types._OCLExpression, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _OCLExpression__TypedElement = new ExecutorFragment(Types._OCLExpression, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _OCLExpression__Visitable = new ExecutorFragment(Types._OCLExpression, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Operation__Element = new ExecutorFragment(Types._Operation, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Operation__Feature = new ExecutorFragment(Types._Operation, MiniOCLTables.Types._Feature);
+ private static final @NonNull ExecutorFragment _Operation__NamedElement = new ExecutorFragment(Types._Operation, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Operation__OclAny = new ExecutorFragment(Types._Operation, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Operation__OclElement = new ExecutorFragment(Types._Operation, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Operation__Operation = new ExecutorFragment(Types._Operation, MiniOCLTables.Types._Operation);
+ private static final @NonNull ExecutorFragment _Operation__TypedElement = new ExecutorFragment(Types._Operation, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _Operation__Visitable = new ExecutorFragment(Types._Operation, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _OperationCallExp__CallExp = new ExecutorFragment(Types._OperationCallExp, MiniOCLTables.Types._CallExp);
+ private static final @NonNull ExecutorFragment _OperationCallExp__Element = new ExecutorFragment(Types._OperationCallExp, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _OperationCallExp__OCLExpression = new ExecutorFragment(Types._OperationCallExp, MiniOCLTables.Types._OCLExpression);
+ private static final @NonNull ExecutorFragment _OperationCallExp__OclAny = new ExecutorFragment(Types._OperationCallExp, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _OperationCallExp__OclElement = new ExecutorFragment(Types._OperationCallExp, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _OperationCallExp__OperationCallExp = new ExecutorFragment(Types._OperationCallExp, MiniOCLTables.Types._OperationCallExp);
+ private static final @NonNull ExecutorFragment _OperationCallExp__TypedElement = new ExecutorFragment(Types._OperationCallExp, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _OperationCallExp__Visitable = new ExecutorFragment(Types._OperationCallExp, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Package__Element = new ExecutorFragment(Types._Package, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Package__NamedElement = new ExecutorFragment(Types._Package, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Package__Namespace = new ExecutorFragment(Types._Package, MiniOCLTables.Types._Namespace);
+ private static final @NonNull ExecutorFragment _Package__OclAny = new ExecutorFragment(Types._Package, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Package__OclElement = new ExecutorFragment(Types._Package, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Package__Package = new ExecutorFragment(Types._Package, MiniOCLTables.Types._Package);
+ private static final @NonNull ExecutorFragment _Package__Visitable = new ExecutorFragment(Types._Package, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Parameter__Element = new ExecutorFragment(Types._Parameter, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Parameter__NamedElement = new ExecutorFragment(Types._Parameter, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Parameter__OclAny = new ExecutorFragment(Types._Parameter, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Parameter__OclElement = new ExecutorFragment(Types._Parameter, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Parameter__Parameter = new ExecutorFragment(Types._Parameter, MiniOCLTables.Types._Parameter);
+ private static final @NonNull ExecutorFragment _Parameter__TypedElement = new ExecutorFragment(Types._Parameter, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _Parameter__Variable = new ExecutorFragment(Types._Parameter, MiniOCLTables.Types._Variable);
+ private static final @NonNull ExecutorFragment _Parameter__Visitable = new ExecutorFragment(Types._Parameter, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Property__Element = new ExecutorFragment(Types._Property, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Property__Feature = new ExecutorFragment(Types._Property, MiniOCLTables.Types._Feature);
+ private static final @NonNull ExecutorFragment _Property__NamedElement = new ExecutorFragment(Types._Property, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Property__OclAny = new ExecutorFragment(Types._Property, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Property__OclElement = new ExecutorFragment(Types._Property, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Property__Property = new ExecutorFragment(Types._Property, MiniOCLTables.Types._Property);
+ private static final @NonNull ExecutorFragment _Property__TypedElement = new ExecutorFragment(Types._Property, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _Property__Visitable = new ExecutorFragment(Types._Property, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _PropertyCallExp__CallExp = new ExecutorFragment(Types._PropertyCallExp, MiniOCLTables.Types._CallExp);
+ private static final @NonNull ExecutorFragment _PropertyCallExp__Element = new ExecutorFragment(Types._PropertyCallExp, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _PropertyCallExp__OCLExpression = new ExecutorFragment(Types._PropertyCallExp, MiniOCLTables.Types._OCLExpression);
+ private static final @NonNull ExecutorFragment _PropertyCallExp__OclAny = new ExecutorFragment(Types._PropertyCallExp, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _PropertyCallExp__OclElement = new ExecutorFragment(Types._PropertyCallExp, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _PropertyCallExp__PropertyCallExp = new ExecutorFragment(Types._PropertyCallExp, MiniOCLTables.Types._PropertyCallExp);
+ private static final @NonNull ExecutorFragment _PropertyCallExp__TypedElement = new ExecutorFragment(Types._PropertyCallExp, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _PropertyCallExp__Visitable = new ExecutorFragment(Types._PropertyCallExp, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Root__Element = new ExecutorFragment(Types._Root, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Root__OclAny = new ExecutorFragment(Types._Root, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Root__OclElement = new ExecutorFragment(Types._Root, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Root__Root = new ExecutorFragment(Types._Root, MiniOCLTables.Types._Root);
+ private static final @NonNull ExecutorFragment _Root__Visitable = new ExecutorFragment(Types._Root, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _TypedElement__Element = new ExecutorFragment(Types._TypedElement, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _TypedElement__OclAny = new ExecutorFragment(Types._TypedElement, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _TypedElement__OclElement = new ExecutorFragment(Types._TypedElement, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _TypedElement__TypedElement = new ExecutorFragment(Types._TypedElement, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _TypedElement__Visitable = new ExecutorFragment(Types._TypedElement, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Variable__Element = new ExecutorFragment(Types._Variable, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _Variable__NamedElement = new ExecutorFragment(Types._Variable, MiniOCLTables.Types._NamedElement);
+ private static final @NonNull ExecutorFragment _Variable__OclAny = new ExecutorFragment(Types._Variable, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Variable__OclElement = new ExecutorFragment(Types._Variable, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Variable__TypedElement = new ExecutorFragment(Types._Variable, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _Variable__Variable = new ExecutorFragment(Types._Variable, MiniOCLTables.Types._Variable);
+ private static final @NonNull ExecutorFragment _Variable__Visitable = new ExecutorFragment(Types._Variable, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _VariableExp__Element = new ExecutorFragment(Types._VariableExp, MiniOCLTables.Types._Element);
+ private static final @NonNull ExecutorFragment _VariableExp__OCLExpression = new ExecutorFragment(Types._VariableExp, MiniOCLTables.Types._OCLExpression);
+ private static final @NonNull ExecutorFragment _VariableExp__OclAny = new ExecutorFragment(Types._VariableExp, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _VariableExp__OclElement = new ExecutorFragment(Types._VariableExp, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _VariableExp__TypedElement = new ExecutorFragment(Types._VariableExp, MiniOCLTables.Types._TypedElement);
+ private static final @NonNull ExecutorFragment _VariableExp__VariableExp = new ExecutorFragment(Types._VariableExp, MiniOCLTables.Types._VariableExp);
+ private static final @NonNull ExecutorFragment _VariableExp__Visitable = new ExecutorFragment(Types._VariableExp, MiniOCLTables.Types._Visitable);
+
+ private static final @NonNull ExecutorFragment _Visitable__OclAny = new ExecutorFragment(Types._Visitable, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Visitable__OclElement = new ExecutorFragment(Types._Visitable, OCLstdlibTables.Types._OclElement);
+ private static final @NonNull ExecutorFragment _Visitable__Visitable = new ExecutorFragment(Types._Visitable, MiniOCLTables.Types._Visitable);
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::Fragments and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The parameter lists shared by operations.
+ */
+ public static class Parameters {
+ static {
+ Init.initStart();
+ Fragments.init();
+ }
+
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::Parameters and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The operation descriptors for each operation of each type.
+ */
+ public static class Operations {
+ static {
+ Init.initStart();
+ Parameters.init();
+ }
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::Operations and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The property descriptors for each property of each type.
+ */
+ public static class Properties {
+ static {
+ Init.initStart();
+ Operations.init();
+ }
+
+ public static final @NonNull ExecutorProperty _CallExp__ownedSource = new EcoreExecutorProperty(MiniOCLPackage.Literals.CALL_EXP__OWNED_SOURCE, Types._CallExp, 0);
+
+ public static final @NonNull ExecutorProperty _Class__ownedInvariants = new EcoreExecutorProperty(MiniOCLPackage.Literals.CLASS__OWNED_INVARIANTS, Types._Class, 0);
+ public static final @NonNull ExecutorProperty _Class__ownedOperations = new EcoreExecutorProperty(MiniOCLPackage.Literals.CLASS__OWNED_OPERATIONS, Types._Class, 1);
+ public static final @NonNull ExecutorProperty _Class__ownedProperties = new EcoreExecutorProperty(MiniOCLPackage.Literals.CLASS__OWNED_PROPERTIES, Types._Class, 2);
+ public static final @NonNull ExecutorProperty _Class__superClass = new EcoreExecutorProperty(MiniOCLPackage.Literals.CLASS__SUPER_CLASS, Types._Class, 3);
+ public static final @NonNull ExecutorProperty _Class__Class__superClass = new ExecutorPropertyWithImplementation("Class", Types._Class, 4, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.CLASS__SUPER_CLASS));
+ public static final @NonNull ExecutorProperty _Class__Package__ownedClasses = new ExecutorPropertyWithImplementation("Package", Types._Class, 5, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.PACKAGE__OWNED_CLASSES));
+ public static final @NonNull ExecutorProperty _Class__Property__owningClass = new ExecutorPropertyWithImplementation("Property", Types._Class, 6, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.PROPERTY__OWNING_CLASS));
+ public static final @NonNull ExecutorProperty _Class__TypedElement__type = new ExecutorPropertyWithImplementation("TypedElement", Types._Class, 7, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.TYPED_ELEMENT__TYPE));
+
+ public static final @NonNull ExecutorProperty _Constraint__ownedSpecification = new EcoreExecutorProperty(MiniOCLPackage.Literals.CONSTRAINT__OWNED_SPECIFICATION, Types._Constraint, 0);
+ public static final @NonNull ExecutorProperty _Constraint__Class__ownedInvariants = new ExecutorPropertyWithImplementation("Class", Types._Constraint, 1, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.CLASS__OWNED_INVARIANTS));
+
+ public static final @NonNull ExecutorProperty _ExpressionInOCL__ownedBody = new EcoreExecutorProperty(MiniOCLPackage.Literals.EXPRESSION_IN_OCL__OWNED_BODY, Types._ExpressionInOCL, 0);
+ public static final @NonNull ExecutorProperty _ExpressionInOCL__ownedSelfVar = new EcoreExecutorProperty(MiniOCLPackage.Literals.EXPRESSION_IN_OCL__OWNED_SELF_VAR, Types._ExpressionInOCL, 1);
+ public static final @NonNull ExecutorProperty _ExpressionInOCL__Constraint__ownedSpecification = new ExecutorPropertyWithImplementation("Constraint", Types._ExpressionInOCL, 2, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.CONSTRAINT__OWNED_SPECIFICATION));
+ public static final @NonNull ExecutorProperty _ExpressionInOCL__Operation__ownedBodyExpression = new ExecutorPropertyWithImplementation("Operation", Types._ExpressionInOCL, 3, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.OPERATION__OWNED_BODY_EXPRESSION));
+
+ public static final @NonNull ExecutorProperty _NamedElement__name = new EcoreExecutorProperty(MiniOCLPackage.Literals.NAMED_ELEMENT__NAME, Types._NamedElement, 0);
+
+ public static final @NonNull ExecutorProperty _OCLExpression__CallExp__ownedSource = new ExecutorPropertyWithImplementation("CallExp", Types._OCLExpression, 0, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.CALL_EXP__OWNED_SOURCE));
+ public static final @NonNull ExecutorProperty _OCLExpression__ExpressionInOCL__ownedBody = new ExecutorPropertyWithImplementation("ExpressionInOCL", Types._OCLExpression, 1, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.EXPRESSION_IN_OCL__OWNED_BODY));
+ public static final @NonNull ExecutorProperty _OCLExpression__OperationCallExp__ownedArguments = new ExecutorPropertyWithImplementation("OperationCallExp", Types._OCLExpression, 2, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.OPERATION_CALL_EXP__OWNED_ARGUMENTS));
+
+ public static final @NonNull ExecutorProperty _Operation__ownedBodyExpression = new EcoreExecutorProperty(MiniOCLPackage.Literals.OPERATION__OWNED_BODY_EXPRESSION, Types._Operation, 0);
+ public static final @NonNull ExecutorProperty _Operation__ownedParameters = new EcoreExecutorProperty(MiniOCLPackage.Literals.OPERATION__OWNED_PARAMETERS, Types._Operation, 1);
+ public static final @NonNull ExecutorProperty _Operation__owningClass = new EcoreExecutorProperty(MiniOCLPackage.Literals.OPERATION__OWNING_CLASS, Types._Operation, 2);
+ public static final @NonNull ExecutorProperty _Operation__OperationCallExp__referredOperation = new ExecutorPropertyWithImplementation("OperationCallExp", Types._Operation, 3, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.OPERATION_CALL_EXP__REFERRED_OPERATION));
+
+ public static final @NonNull ExecutorProperty _OperationCallExp__ownedArguments = new EcoreExecutorProperty(MiniOCLPackage.Literals.OPERATION_CALL_EXP__OWNED_ARGUMENTS, Types._OperationCallExp, 0);
+ public static final @NonNull ExecutorProperty _OperationCallExp__referredOperation = new EcoreExecutorProperty(MiniOCLPackage.Literals.OPERATION_CALL_EXP__REFERRED_OPERATION, Types._OperationCallExp, 1);
+
+ public static final @NonNull ExecutorProperty _Package__ownedClasses = new EcoreExecutorProperty(MiniOCLPackage.Literals.PACKAGE__OWNED_CLASSES, Types._Package, 0);
+ public static final @NonNull ExecutorProperty _Package__ownedPackages = new EcoreExecutorProperty(MiniOCLPackage.Literals.PACKAGE__OWNED_PACKAGES, Types._Package, 1);
+ public static final @NonNull ExecutorProperty _Package__Package__ownedPackages = new ExecutorPropertyWithImplementation("Package", Types._Package, 2, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.PACKAGE__OWNED_PACKAGES));
+ public static final @NonNull ExecutorProperty _Package__Root__ownedPackages = new ExecutorPropertyWithImplementation("Root", Types._Package, 3, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.ROOT__OWNED_PACKAGES));
+
+ public static final @NonNull ExecutorProperty _Parameter__Operation__ownedParameters = new ExecutorPropertyWithImplementation("Operation", Types._Parameter, 0, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.OPERATION__OWNED_PARAMETERS));
+
+ public static final @NonNull ExecutorProperty _Property__owningClass = new EcoreExecutorProperty(MiniOCLPackage.Literals.PROPERTY__OWNING_CLASS, Types._Property, 0);
+ public static final @NonNull ExecutorProperty _Property__Class__ownedProperties = new ExecutorPropertyWithImplementation("Class", Types._Property, 1, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.CLASS__OWNED_PROPERTIES));
+ public static final @NonNull ExecutorProperty _Property__PropertyCallExp__referredProperty = new ExecutorPropertyWithImplementation("PropertyCallExp", Types._Property, 2, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.PROPERTY_CALL_EXP__REFERRED_PROPERTY));
+
+ public static final @NonNull ExecutorProperty _PropertyCallExp__referredProperty = new EcoreExecutorProperty(MiniOCLPackage.Literals.PROPERTY_CALL_EXP__REFERRED_PROPERTY, Types._PropertyCallExp, 0);
+
+ public static final @NonNull ExecutorProperty _Root__ownedPackages = new EcoreExecutorProperty(MiniOCLPackage.Literals.ROOT__OWNED_PACKAGES, Types._Root, 0);
+
+ public static final @NonNull ExecutorProperty _TypedElement__type = new EcoreExecutorProperty(MiniOCLPackage.Literals.TYPED_ELEMENT__TYPE, Types._TypedElement, 0);
+
+ public static final @NonNull ExecutorProperty _Variable__ExpressionInOCL__ownedSelfVar = new ExecutorPropertyWithImplementation("ExpressionInOCL", Types._Variable, 0, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.EXPRESSION_IN_OCL__OWNED_SELF_VAR));
+ public static final @NonNull ExecutorProperty _Variable__VariableExp__referredVariable = new ExecutorPropertyWithImplementation("VariableExp", Types._Variable, 1, new EcoreLibraryOppositeProperty(MiniOCLPackage.Literals.VARIABLE_EXP__REFERRED_VARIABLE));
+
+ public static final @NonNull ExecutorProperty _VariableExp__referredVariable = new EcoreExecutorProperty(MiniOCLPackage.Literals.VARIABLE_EXP__REFERRED_VARIABLE, Types._VariableExp, 0);
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::Properties and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The fragments for all base types in depth order: OclAny first, OclSelf last.
+ */
+ public static class TypeFragments {
+ static {
+ Init.initStart();
+ Properties.init();
+ }
+
+ private static final @NonNull ExecutorFragment @NonNull [] _CallExp =
+ {
+ Fragments._CallExp__OclAny /* 0 */,
+ Fragments._CallExp__OclElement /* 1 */,
+ Fragments._CallExp__Visitable /* 2 */,
+ Fragments._CallExp__Element /* 3 */,
+ Fragments._CallExp__TypedElement /* 4 */,
+ Fragments._CallExp__OCLExpression /* 5 */,
+ Fragments._CallExp__CallExp /* 6 */
+ };
+ private static final int @NonNull [] __CallExp = { 1,1,1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Class =
+ {
+ Fragments._Class__OclAny /* 0 */,
+ Fragments._Class__OclElement /* 1 */,
+ Fragments._Class__Visitable /* 2 */,
+ Fragments._Class__Element /* 3 */,
+ Fragments._Class__NamedElement /* 4 */,
+ Fragments._Class__Class /* 5 */
+ };
+ private static final int @NonNull [] __Class = { 1,1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Constraint =
+ {
+ Fragments._Constraint__OclAny /* 0 */,
+ Fragments._Constraint__OclElement /* 1 */,
+ Fragments._Constraint__Visitable /* 2 */,
+ Fragments._Constraint__Element /* 3 */,
+ Fragments._Constraint__NamedElement /* 4 */,
+ Fragments._Constraint__Constraint /* 5 */
+ };
+ private static final int @NonNull [] __Constraint = { 1,1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Element =
+ {
+ Fragments._Element__OclAny /* 0 */,
+ Fragments._Element__OclElement /* 1 */,
+ Fragments._Element__Visitable /* 2 */,
+ Fragments._Element__Element /* 3 */
+ };
+ private static final int @NonNull [] __Element = { 1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _ExpressionInOCL =
+ {
+ Fragments._ExpressionInOCL__OclAny /* 0 */,
+ Fragments._ExpressionInOCL__OclElement /* 1 */,
+ Fragments._ExpressionInOCL__Visitable /* 2 */,
+ Fragments._ExpressionInOCL__Element /* 3 */,
+ Fragments._ExpressionInOCL__ExpressionInOCL /* 4 */
+ };
+ private static final int @NonNull [] __ExpressionInOCL = { 1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Feature =
+ {
+ Fragments._Feature__OclAny /* 0 */,
+ Fragments._Feature__OclElement /* 1 */,
+ Fragments._Feature__Visitable /* 2 */,
+ Fragments._Feature__Element /* 3 */,
+ Fragments._Feature__NamedElement /* 4 */,
+ Fragments._Feature__TypedElement /* 4 */,
+ Fragments._Feature__Feature /* 5 */
+ };
+ private static final int @NonNull [] __Feature = { 1,1,1,1,2,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _NamedElement =
+ {
+ Fragments._NamedElement__OclAny /* 0 */,
+ Fragments._NamedElement__OclElement /* 1 */,
+ Fragments._NamedElement__Visitable /* 2 */,
+ Fragments._NamedElement__Element /* 3 */,
+ Fragments._NamedElement__NamedElement /* 4 */
+ };
+ private static final int @NonNull [] __NamedElement = { 1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Namespace =
+ {
+ Fragments._Namespace__OclAny /* 0 */,
+ Fragments._Namespace__OclElement /* 1 */,
+ Fragments._Namespace__Visitable /* 2 */,
+ Fragments._Namespace__Element /* 3 */,
+ Fragments._Namespace__Namespace /* 4 */
+ };
+ private static final int @NonNull [] __Namespace = { 1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _OCLExpression =
+ {
+ Fragments._OCLExpression__OclAny /* 0 */,
+ Fragments._OCLExpression__OclElement /* 1 */,
+ Fragments._OCLExpression__Visitable /* 2 */,
+ Fragments._OCLExpression__Element /* 3 */,
+ Fragments._OCLExpression__TypedElement /* 4 */,
+ Fragments._OCLExpression__OCLExpression /* 5 */
+ };
+ private static final int @NonNull [] __OCLExpression = { 1,1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Operation =
+ {
+ Fragments._Operation__OclAny /* 0 */,
+ Fragments._Operation__OclElement /* 1 */,
+ Fragments._Operation__Visitable /* 2 */,
+ Fragments._Operation__Element /* 3 */,
+ Fragments._Operation__NamedElement /* 4 */,
+ Fragments._Operation__TypedElement /* 4 */,
+ Fragments._Operation__Feature /* 5 */,
+ Fragments._Operation__Operation /* 6 */
+ };
+ private static final int @NonNull [] __Operation = { 1,1,1,1,2,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _OperationCallExp =
+ {
+ Fragments._OperationCallExp__OclAny /* 0 */,
+ Fragments._OperationCallExp__OclElement /* 1 */,
+ Fragments._OperationCallExp__Visitable /* 2 */,
+ Fragments._OperationCallExp__Element /* 3 */,
+ Fragments._OperationCallExp__TypedElement /* 4 */,
+ Fragments._OperationCallExp__OCLExpression /* 5 */,
+ Fragments._OperationCallExp__CallExp /* 6 */,
+ Fragments._OperationCallExp__OperationCallExp /* 7 */
+ };
+ private static final int @NonNull [] __OperationCallExp = { 1,1,1,1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Package =
+ {
+ Fragments._Package__OclAny /* 0 */,
+ Fragments._Package__OclElement /* 1 */,
+ Fragments._Package__Visitable /* 2 */,
+ Fragments._Package__Element /* 3 */,
+ Fragments._Package__NamedElement /* 4 */,
+ Fragments._Package__Namespace /* 4 */,
+ Fragments._Package__Package /* 5 */
+ };
+ private static final int @NonNull [] __Package = { 1,1,1,1,2,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Parameter =
+ {
+ Fragments._Parameter__OclAny /* 0 */,
+ Fragments._Parameter__OclElement /* 1 */,
+ Fragments._Parameter__Visitable /* 2 */,
+ Fragments._Parameter__Element /* 3 */,
+ Fragments._Parameter__NamedElement /* 4 */,
+ Fragments._Parameter__TypedElement /* 4 */,
+ Fragments._Parameter__Variable /* 5 */,
+ Fragments._Parameter__Parameter /* 6 */
+ };
+ private static final int @NonNull [] __Parameter = { 1,1,1,1,2,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Property =
+ {
+ Fragments._Property__OclAny /* 0 */,
+ Fragments._Property__OclElement /* 1 */,
+ Fragments._Property__Visitable /* 2 */,
+ Fragments._Property__Element /* 3 */,
+ Fragments._Property__NamedElement /* 4 */,
+ Fragments._Property__TypedElement /* 4 */,
+ Fragments._Property__Feature /* 5 */,
+ Fragments._Property__Property /* 6 */
+ };
+ private static final int @NonNull [] __Property = { 1,1,1,1,2,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _PropertyCallExp =
+ {
+ Fragments._PropertyCallExp__OclAny /* 0 */,
+ Fragments._PropertyCallExp__OclElement /* 1 */,
+ Fragments._PropertyCallExp__Visitable /* 2 */,
+ Fragments._PropertyCallExp__Element /* 3 */,
+ Fragments._PropertyCallExp__TypedElement /* 4 */,
+ Fragments._PropertyCallExp__OCLExpression /* 5 */,
+ Fragments._PropertyCallExp__CallExp /* 6 */,
+ Fragments._PropertyCallExp__PropertyCallExp /* 7 */
+ };
+ private static final int @NonNull [] __PropertyCallExp = { 1,1,1,1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Root =
+ {
+ Fragments._Root__OclAny /* 0 */,
+ Fragments._Root__OclElement /* 1 */,
+ Fragments._Root__Visitable /* 2 */,
+ Fragments._Root__Element /* 3 */,
+ Fragments._Root__Root /* 4 */
+ };
+ private static final int @NonNull [] __Root = { 1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _TypedElement =
+ {
+ Fragments._TypedElement__OclAny /* 0 */,
+ Fragments._TypedElement__OclElement /* 1 */,
+ Fragments._TypedElement__Visitable /* 2 */,
+ Fragments._TypedElement__Element /* 3 */,
+ Fragments._TypedElement__TypedElement /* 4 */
+ };
+ private static final int @NonNull [] __TypedElement = { 1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Variable =
+ {
+ Fragments._Variable__OclAny /* 0 */,
+ Fragments._Variable__OclElement /* 1 */,
+ Fragments._Variable__Visitable /* 2 */,
+ Fragments._Variable__Element /* 3 */,
+ Fragments._Variable__NamedElement /* 4 */,
+ Fragments._Variable__TypedElement /* 4 */,
+ Fragments._Variable__Variable /* 5 */
+ };
+ private static final int @NonNull [] __Variable = { 1,1,1,1,2,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _VariableExp =
+ {
+ Fragments._VariableExp__OclAny /* 0 */,
+ Fragments._VariableExp__OclElement /* 1 */,
+ Fragments._VariableExp__Visitable /* 2 */,
+ Fragments._VariableExp__Element /* 3 */,
+ Fragments._VariableExp__TypedElement /* 4 */,
+ Fragments._VariableExp__OCLExpression /* 5 */,
+ Fragments._VariableExp__VariableExp /* 6 */
+ };
+ private static final int @NonNull [] __VariableExp = { 1,1,1,1,1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Visitable =
+ {
+ Fragments._Visitable__OclAny /* 0 */,
+ Fragments._Visitable__OclElement /* 1 */,
+ Fragments._Visitable__Visitable /* 2 */
+ };
+ private static final int @NonNull [] __Visitable = { 1,1,1 };
+
+ /**
+ * Install the fragment descriptors in the class descriptors.
+ */
+ static {
+ Types._CallExp.initFragments(_CallExp, __CallExp);
+ Types._Class.initFragments(_Class, __Class);
+ Types._Constraint.initFragments(_Constraint, __Constraint);
+ Types._Element.initFragments(_Element, __Element);
+ Types._ExpressionInOCL.initFragments(_ExpressionInOCL, __ExpressionInOCL);
+ Types._Feature.initFragments(_Feature, __Feature);
+ Types._NamedElement.initFragments(_NamedElement, __NamedElement);
+ Types._Namespace.initFragments(_Namespace, __Namespace);
+ Types._OCLExpression.initFragments(_OCLExpression, __OCLExpression);
+ Types._Operation.initFragments(_Operation, __Operation);
+ Types._OperationCallExp.initFragments(_OperationCallExp, __OperationCallExp);
+ Types._Package.initFragments(_Package, __Package);
+ Types._Parameter.initFragments(_Parameter, __Parameter);
+ Types._Property.initFragments(_Property, __Property);
+ Types._PropertyCallExp.initFragments(_PropertyCallExp, __PropertyCallExp);
+ Types._Root.initFragments(_Root, __Root);
+ Types._TypedElement.initFragments(_TypedElement, __TypedElement);
+ Types._Variable.initFragments(_Variable, __Variable);
+ Types._VariableExp.initFragments(_VariableExp, __VariableExp);
+ Types._Visitable.initFragments(_Visitable, __Visitable);
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::TypeFragments and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The lists of local operations or local operation overrides for each fragment of each type.
+ */
+ public static class FragmentOperations {
+ static {
+ Init.initStart();
+ TypeFragments.init();
+ }
+
+ private static final @NonNull ExecutorOperation @NonNull [] _CallExp__CallExp = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _CallExp__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _CallExp__OCLExpression = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _CallExp__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _CallExp__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _CallExp__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _CallExp__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Class__Class = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Class__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Class__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Class__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Class__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Class__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Constraint__Constraint = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Constraint__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Constraint__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Constraint__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Constraint__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Constraint__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Element__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Element__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Element__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Element__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _ExpressionInOCL__ExpressionInOCL = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _ExpressionInOCL__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _ExpressionInOCL__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _ExpressionInOCL__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _ExpressionInOCL__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Feature__Feature = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Feature__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Feature__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Feature__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Feature__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Feature__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Feature__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _NamedElement__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _NamedElement__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _NamedElement__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _NamedElement__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _NamedElement__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Namespace__Namespace = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Namespace__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Namespace__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Namespace__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Namespace__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _OCLExpression__OCLExpression = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OCLExpression__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OCLExpression__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _OCLExpression__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _OCLExpression__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OCLExpression__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__Operation = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__Feature = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Operation__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__OperationCallExp = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__CallExp = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__OCLExpression = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _OperationCallExp__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Package__Package = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Package__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Package__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Package__Namespace = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Package__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Package__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Package__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__Parameter = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__Variable = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Parameter__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__Property = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__Feature = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Property__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__PropertyCallExp = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__CallExp = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__OCLExpression = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _PropertyCallExp__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Root__Root = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Root__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Root__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Root__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Root__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _TypedElement__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _TypedElement__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _TypedElement__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _TypedElement__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _TypedElement__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Variable__Variable = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Variable__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Variable__NamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Variable__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Variable__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Variable__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Variable__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _VariableExp__VariableExp = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _VariableExp__Element = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _VariableExp__OCLExpression = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _VariableExp__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _VariableExp__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _VariableExp__TypedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _VariableExp__Visitable = {};
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Visitable__Visitable = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Visitable__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Visitable__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+
+ /*
+ * Install the operation descriptors in the fragment descriptors.
+ */
+ static {
+ Fragments._CallExp__CallExp.initOperations(_CallExp__CallExp);
+ Fragments._CallExp__Element.initOperations(_CallExp__Element);
+ Fragments._CallExp__OCLExpression.initOperations(_CallExp__OCLExpression);
+ Fragments._CallExp__OclAny.initOperations(_CallExp__OclAny);
+ Fragments._CallExp__OclElement.initOperations(_CallExp__OclElement);
+ Fragments._CallExp__TypedElement.initOperations(_CallExp__TypedElement);
+ Fragments._CallExp__Visitable.initOperations(_CallExp__Visitable);
+
+ Fragments._Class__Class.initOperations(_Class__Class);
+ Fragments._Class__Element.initOperations(_Class__Element);
+ Fragments._Class__NamedElement.initOperations(_Class__NamedElement);
+ Fragments._Class__OclAny.initOperations(_Class__OclAny);
+ Fragments._Class__OclElement.initOperations(_Class__OclElement);
+ Fragments._Class__Visitable.initOperations(_Class__Visitable);
+
+ Fragments._Constraint__Constraint.initOperations(_Constraint__Constraint);
+ Fragments._Constraint__Element.initOperations(_Constraint__Element);
+ Fragments._Constraint__NamedElement.initOperations(_Constraint__NamedElement);
+ Fragments._Constraint__OclAny.initOperations(_Constraint__OclAny);
+ Fragments._Constraint__OclElement.initOperations(_Constraint__OclElement);
+ Fragments._Constraint__Visitable.initOperations(_Constraint__Visitable);
+
+ Fragments._Element__Element.initOperations(_Element__Element);
+ Fragments._Element__OclAny.initOperations(_Element__OclAny);
+ Fragments._Element__OclElement.initOperations(_Element__OclElement);
+ Fragments._Element__Visitable.initOperations(_Element__Visitable);
+
+ Fragments._ExpressionInOCL__Element.initOperations(_ExpressionInOCL__Element);
+ Fragments._ExpressionInOCL__ExpressionInOCL.initOperations(_ExpressionInOCL__ExpressionInOCL);
+ Fragments._ExpressionInOCL__OclAny.initOperations(_ExpressionInOCL__OclAny);
+ Fragments._ExpressionInOCL__OclElement.initOperations(_ExpressionInOCL__OclElement);
+ Fragments._ExpressionInOCL__Visitable.initOperations(_ExpressionInOCL__Visitable);
+
+ Fragments._Feature__Element.initOperations(_Feature__Element);
+ Fragments._Feature__Feature.initOperations(_Feature__Feature);
+ Fragments._Feature__NamedElement.initOperations(_Feature__NamedElement);
+ Fragments._Feature__OclAny.initOperations(_Feature__OclAny);
+ Fragments._Feature__OclElement.initOperations(_Feature__OclElement);
+ Fragments._Feature__TypedElement.initOperations(_Feature__TypedElement);
+ Fragments._Feature__Visitable.initOperations(_Feature__Visitable);
+
+ Fragments._NamedElement__Element.initOperations(_NamedElement__Element);
+ Fragments._NamedElement__NamedElement.initOperations(_NamedElement__NamedElement);
+ Fragments._NamedElement__OclAny.initOperations(_NamedElement__OclAny);
+ Fragments._NamedElement__OclElement.initOperations(_NamedElement__OclElement);
+ Fragments._NamedElement__Visitable.initOperations(_NamedElement__Visitable);
+
+ Fragments._Namespace__Element.initOperations(_Namespace__Element);
+ Fragments._Namespace__Namespace.initOperations(_Namespace__Namespace);
+ Fragments._Namespace__OclAny.initOperations(_Namespace__OclAny);
+ Fragments._Namespace__OclElement.initOperations(_Namespace__OclElement);
+ Fragments._Namespace__Visitable.initOperations(_Namespace__Visitable);
+
+ Fragments._OCLExpression__Element.initOperations(_OCLExpression__Element);
+ Fragments._OCLExpression__OCLExpression.initOperations(_OCLExpression__OCLExpression);
+ Fragments._OCLExpression__OclAny.initOperations(_OCLExpression__OclAny);
+ Fragments._OCLExpression__OclElement.initOperations(_OCLExpression__OclElement);
+ Fragments._OCLExpression__TypedElement.initOperations(_OCLExpression__TypedElement);
+ Fragments._OCLExpression__Visitable.initOperations(_OCLExpression__Visitable);
+
+ Fragments._Operation__Element.initOperations(_Operation__Element);
+ Fragments._Operation__Feature.initOperations(_Operation__Feature);
+ Fragments._Operation__NamedElement.initOperations(_Operation__NamedElement);
+ Fragments._Operation__OclAny.initOperations(_Operation__OclAny);
+ Fragments._Operation__OclElement.initOperations(_Operation__OclElement);
+ Fragments._Operation__Operation.initOperations(_Operation__Operation);
+ Fragments._Operation__TypedElement.initOperations(_Operation__TypedElement);
+ Fragments._Operation__Visitable.initOperations(_Operation__Visitable);
+
+ Fragments._OperationCallExp__CallExp.initOperations(_OperationCallExp__CallExp);
+ Fragments._OperationCallExp__Element.initOperations(_OperationCallExp__Element);
+ Fragments._OperationCallExp__OCLExpression.initOperations(_OperationCallExp__OCLExpression);
+ Fragments._OperationCallExp__OclAny.initOperations(_OperationCallExp__OclAny);
+ Fragments._OperationCallExp__OclElement.initOperations(_OperationCallExp__OclElement);
+ Fragments._OperationCallExp__OperationCallExp.initOperations(_OperationCallExp__OperationCallExp);
+ Fragments._OperationCallExp__TypedElement.initOperations(_OperationCallExp__TypedElement);
+ Fragments._OperationCallExp__Visitable.initOperations(_OperationCallExp__Visitable);
+
+ Fragments._Package__Element.initOperations(_Package__Element);
+ Fragments._Package__NamedElement.initOperations(_Package__NamedElement);
+ Fragments._Package__Namespace.initOperations(_Package__Namespace);
+ Fragments._Package__OclAny.initOperations(_Package__OclAny);
+ Fragments._Package__OclElement.initOperations(_Package__OclElement);
+ Fragments._Package__Package.initOperations(_Package__Package);
+ Fragments._Package__Visitable.initOperations(_Package__Visitable);
+
+ Fragments._Parameter__Element.initOperations(_Parameter__Element);
+ Fragments._Parameter__NamedElement.initOperations(_Parameter__NamedElement);
+ Fragments._Parameter__OclAny.initOperations(_Parameter__OclAny);
+ Fragments._Parameter__OclElement.initOperations(_Parameter__OclElement);
+ Fragments._Parameter__Parameter.initOperations(_Parameter__Parameter);
+ Fragments._Parameter__TypedElement.initOperations(_Parameter__TypedElement);
+ Fragments._Parameter__Variable.initOperations(_Parameter__Variable);
+ Fragments._Parameter__Visitable.initOperations(_Parameter__Visitable);
+
+ Fragments._Property__Element.initOperations(_Property__Element);
+ Fragments._Property__Feature.initOperations(_Property__Feature);
+ Fragments._Property__NamedElement.initOperations(_Property__NamedElement);
+ Fragments._Property__OclAny.initOperations(_Property__OclAny);
+ Fragments._Property__OclElement.initOperations(_Property__OclElement);
+ Fragments._Property__Property.initOperations(_Property__Property);
+ Fragments._Property__TypedElement.initOperations(_Property__TypedElement);
+ Fragments._Property__Visitable.initOperations(_Property__Visitable);
+
+ Fragments._PropertyCallExp__CallExp.initOperations(_PropertyCallExp__CallExp);
+ Fragments._PropertyCallExp__Element.initOperations(_PropertyCallExp__Element);
+ Fragments._PropertyCallExp__OCLExpression.initOperations(_PropertyCallExp__OCLExpression);
+ Fragments._PropertyCallExp__OclAny.initOperations(_PropertyCallExp__OclAny);
+ Fragments._PropertyCallExp__OclElement.initOperations(_PropertyCallExp__OclElement);
+ Fragments._PropertyCallExp__PropertyCallExp.initOperations(_PropertyCallExp__PropertyCallExp);
+ Fragments._PropertyCallExp__TypedElement.initOperations(_PropertyCallExp__TypedElement);
+ Fragments._PropertyCallExp__Visitable.initOperations(_PropertyCallExp__Visitable);
+
+ Fragments._Root__Element.initOperations(_Root__Element);
+ Fragments._Root__OclAny.initOperations(_Root__OclAny);
+ Fragments._Root__OclElement.initOperations(_Root__OclElement);
+ Fragments._Root__Root.initOperations(_Root__Root);
+ Fragments._Root__Visitable.initOperations(_Root__Visitable);
+
+ Fragments._TypedElement__Element.initOperations(_TypedElement__Element);
+ Fragments._TypedElement__OclAny.initOperations(_TypedElement__OclAny);
+ Fragments._TypedElement__OclElement.initOperations(_TypedElement__OclElement);
+ Fragments._TypedElement__TypedElement.initOperations(_TypedElement__TypedElement);
+ Fragments._TypedElement__Visitable.initOperations(_TypedElement__Visitable);
+
+ Fragments._Variable__Element.initOperations(_Variable__Element);
+ Fragments._Variable__NamedElement.initOperations(_Variable__NamedElement);
+ Fragments._Variable__OclAny.initOperations(_Variable__OclAny);
+ Fragments._Variable__OclElement.initOperations(_Variable__OclElement);
+ Fragments._Variable__TypedElement.initOperations(_Variable__TypedElement);
+ Fragments._Variable__Variable.initOperations(_Variable__Variable);
+ Fragments._Variable__Visitable.initOperations(_Variable__Visitable);
+
+ Fragments._VariableExp__Element.initOperations(_VariableExp__Element);
+ Fragments._VariableExp__OCLExpression.initOperations(_VariableExp__OCLExpression);
+ Fragments._VariableExp__OclAny.initOperations(_VariableExp__OclAny);
+ Fragments._VariableExp__OclElement.initOperations(_VariableExp__OclElement);
+ Fragments._VariableExp__TypedElement.initOperations(_VariableExp__TypedElement);
+ Fragments._VariableExp__VariableExp.initOperations(_VariableExp__VariableExp);
+ Fragments._VariableExp__Visitable.initOperations(_VariableExp__Visitable);
+
+ Fragments._Visitable__OclAny.initOperations(_Visitable__OclAny);
+ Fragments._Visitable__OclElement.initOperations(_Visitable__OclElement);
+ Fragments._Visitable__Visitable.initOperations(_Visitable__Visitable);
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::FragmentOperations and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The lists of local properties for the local fragment of each type.
+ */
+ public static class FragmentProperties {
+ static {
+ Init.initStart();
+ FragmentOperations.init();
+ }
+
+ private static final @NonNull ExecutorProperty @NonNull [] _CallExp = {
+ MiniOCLTables.Properties._CallExp__ownedSource,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._OCLExpression__CallExp__ownedSource,
+ MiniOCLTables.Properties._OCLExpression__ExpressionInOCL__ownedBody,
+ MiniOCLTables.Properties._OCLExpression__OperationCallExp__ownedArguments
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Class = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._Class__ownedInvariants,
+ MiniOCLTables.Properties._Class__ownedOperations,
+ MiniOCLTables.Properties._Class__ownedProperties,
+ MiniOCLTables.Properties._Class__superClass,
+ MiniOCLTables.Properties._Class__Class__superClass,
+ MiniOCLTables.Properties._Class__Package__ownedClasses,
+ MiniOCLTables.Properties._Class__Property__owningClass,
+ MiniOCLTables.Properties._Class__TypedElement__type
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Constraint = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._Constraint__ownedSpecification,
+ MiniOCLTables.Properties._Constraint__Class__ownedInvariants
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Element = {};
+
+ private static final @NonNull ExecutorProperty @NonNull [] _ExpressionInOCL = {
+ MiniOCLTables.Properties._ExpressionInOCL__ownedBody,
+ MiniOCLTables.Properties._ExpressionInOCL__ownedSelfVar,
+ MiniOCLTables.Properties._ExpressionInOCL__Constraint__ownedSpecification,
+ MiniOCLTables.Properties._ExpressionInOCL__Operation__ownedBodyExpression
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Feature = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._TypedElement__type
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _NamedElement = {
+ MiniOCLTables.Properties._NamedElement__name
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Namespace = {};
+
+ private static final @NonNull ExecutorProperty @NonNull [] _OCLExpression = {
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._OCLExpression__CallExp__ownedSource,
+ MiniOCLTables.Properties._OCLExpression__ExpressionInOCL__ownedBody,
+ MiniOCLTables.Properties._OCLExpression__OperationCallExp__ownedArguments
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Operation = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._Operation__ownedBodyExpression,
+ MiniOCLTables.Properties._Operation__ownedParameters,
+ MiniOCLTables.Properties._Operation__owningClass,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._Operation__OperationCallExp__referredOperation
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _OperationCallExp = {
+ MiniOCLTables.Properties._OperationCallExp__ownedArguments,
+ MiniOCLTables.Properties._CallExp__ownedSource,
+ MiniOCLTables.Properties._OperationCallExp__referredOperation,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._OCLExpression__CallExp__ownedSource,
+ MiniOCLTables.Properties._OCLExpression__ExpressionInOCL__ownedBody,
+ MiniOCLTables.Properties._OCLExpression__OperationCallExp__ownedArguments
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Package = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._Package__ownedClasses,
+ MiniOCLTables.Properties._Package__ownedPackages,
+ MiniOCLTables.Properties._Package__Package__ownedPackages,
+ MiniOCLTables.Properties._Package__Root__ownedPackages
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Parameter = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._Variable__ExpressionInOCL__ownedSelfVar,
+ MiniOCLTables.Properties._Parameter__Operation__ownedParameters,
+ MiniOCLTables.Properties._Variable__VariableExp__referredVariable
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Property = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._Property__owningClass,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._Property__Class__ownedProperties,
+ MiniOCLTables.Properties._Property__PropertyCallExp__referredProperty
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _PropertyCallExp = {
+ MiniOCLTables.Properties._CallExp__ownedSource,
+ MiniOCLTables.Properties._PropertyCallExp__referredProperty,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._OCLExpression__CallExp__ownedSource,
+ MiniOCLTables.Properties._OCLExpression__ExpressionInOCL__ownedBody,
+ MiniOCLTables.Properties._OCLExpression__OperationCallExp__ownedArguments
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Root = {
+ MiniOCLTables.Properties._Root__ownedPackages
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _TypedElement = {
+ MiniOCLTables.Properties._TypedElement__type
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Variable = {
+ MiniOCLTables.Properties._NamedElement__name,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._Variable__ExpressionInOCL__ownedSelfVar,
+ MiniOCLTables.Properties._Variable__VariableExp__referredVariable
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _VariableExp = {
+ MiniOCLTables.Properties._VariableExp__referredVariable,
+ MiniOCLTables.Properties._TypedElement__type,
+ MiniOCLTables.Properties._OCLExpression__CallExp__ownedSource,
+ MiniOCLTables.Properties._OCLExpression__ExpressionInOCL__ownedBody,
+ MiniOCLTables.Properties._OCLExpression__OperationCallExp__ownedArguments
+ };
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Visitable = {};
+
+ /**
+ * Install the property descriptors in the fragment descriptors.
+ */
+ static {
+ Fragments._CallExp__CallExp.initProperties(_CallExp);
+ Fragments._Class__Class.initProperties(_Class);
+ Fragments._Constraint__Constraint.initProperties(_Constraint);
+ Fragments._Element__Element.initProperties(_Element);
+ Fragments._ExpressionInOCL__ExpressionInOCL.initProperties(_ExpressionInOCL);
+ Fragments._Feature__Feature.initProperties(_Feature);
+ Fragments._NamedElement__NamedElement.initProperties(_NamedElement);
+ Fragments._Namespace__Namespace.initProperties(_Namespace);
+ Fragments._OCLExpression__OCLExpression.initProperties(_OCLExpression);
+ Fragments._Operation__Operation.initProperties(_Operation);
+ Fragments._OperationCallExp__OperationCallExp.initProperties(_OperationCallExp);
+ Fragments._Package__Package.initProperties(_Package);
+ Fragments._Parameter__Parameter.initProperties(_Parameter);
+ Fragments._Property__Property.initProperties(_Property);
+ Fragments._PropertyCallExp__PropertyCallExp.initProperties(_PropertyCallExp);
+ Fragments._Root__Root.initProperties(_Root);
+ Fragments._TypedElement__TypedElement.initProperties(_TypedElement);
+ Fragments._Variable__Variable.initProperties(_Variable);
+ Fragments._VariableExp__VariableExp.initProperties(_VariableExp);
+ Fragments._Visitable__Visitable.initProperties(_Visitable);
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::FragmentProperties and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The lists of enumeration literals for each enumeration.
+ */
+ public static class EnumerationLiterals {
+ static {
+ Init.initStart();
+ FragmentProperties.init();
+ }
+
+ /**
+ * Install the enumeration literals in the enumerations.
+ */
+ static {
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of MiniOCLTables::EnumerationLiterals and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The multiple packages above avoid problems with the Java 65536 byte limit but introduce a difficulty in ensuring that
+ * static construction occurs in the disciplined order of the packages when construction may start in any of the packages.
+ * The problem is resolved by ensuring that the static construction of each package first initializes its immediate predecessor.
+ * On completion of predecessor initialization, the residual packages are initialized by starting an initialization in the last package.
+ * This class maintains a count so that the various predecessors can distinguish whether they are the starting point and so
+ * ensure that residual construction occurs just once after all predecessors.
+ */
+ private static class Init {
+ /**
+ * Counter of nested static constructions. On return to zero residual construction starts. -ve once residual construction started.
+ */
+ private static int initCount = 0;
+
+ /**
+ * Invoked at the start of a static construction to defer residual cobstruction until primary constructions complete.
+ */
+ private static void initStart() {
+ if (initCount >= 0) {
+ initCount++;
+ }
+ }
+
+ /**
+ * Invoked at the end of a static construction to activate residual cobstruction once primary constructions complete.
+ */
+ private static void initEnd() {
+ if (initCount > 0) {
+ if (--initCount == 0) {
+ initCount = -1;
+ EnumerationLiterals.init();
+ }
+ }
+ }
+ }
+
+ static {
+ Init.initEnd();
+ }
+
+ /*
+ * Force initialization of outer fields. Inner fields are lazily initialized.
+ */
+ public static void init() {}
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/NamedElement.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/NamedElement.java
new file mode 100644
index 000000000..7b5fb9f10
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/NamedElement.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.NamedElement#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getNamedElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NamedElement extends Element {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getNamedElement_Name()
+ * @model annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!NamedElement!name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.NamedElement#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // NamedElement
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Namespace.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Namespace.java
new file mode 100644
index 000000000..d12ea5989
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Namespace.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Namespace</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getNamespace()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Namespace extends Element {
+} // Namespace
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OCLExpression.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OCLExpression.java
new file mode 100644
index 000000000..49209f38c
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OCLExpression.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>OCL Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOCLExpression()
+ * @model
+ * @generated
+ */
+public interface OCLExpression extends TypedElement {
+} // OCLExpression
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Operation.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Operation.java
new file mode 100644
index 000000000..85a56c1c2
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Operation.java
@@ -0,0 +1,99 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwnedParameters <em>Owned Parameters</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwningClass <em>Owning Class</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwnedBodyExpression <em>Owned Body Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOperation()
+ * @model
+ * @generated
+ */
+public interface Operation extends Feature {
+ /**
+ * Returns the value of the '<em><b>Owned Parameters</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.Parameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Parameters</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Parameters</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOperation_OwnedParameters()
+ * @model containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Operation!ownedParameters'"
+ * @generated
+ */
+ EList<Parameter> getOwnedParameters();
+
+ /**
+ * Returns the value of the '<em><b>Owning Class</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.doc.miniocl.Class#getOwnedOperations <em>Owned Operations</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owning Class</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owning Class</em>' container reference.
+ * @see #setOwningClass(org.eclipse.qvtd.doc.miniocl.Class)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOperation_OwningClass()
+ * @see org.eclipse.qvtd.doc.miniocl.Class#getOwnedOperations
+ * @model opposite="ownedOperations" transient="false"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Operation!owningClass'"
+ * @generated
+ */
+ org.eclipse.qvtd.doc.miniocl.Class getOwningClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwningClass <em>Owning Class</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owning Class</em>' container reference.
+ * @see #getOwningClass()
+ * @generated
+ */
+ void setOwningClass(org.eclipse.qvtd.doc.miniocl.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Owned Body Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Body Expression</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Body Expression</em>' containment reference.
+ * @see #setOwnedBodyExpression(ExpressionInOCL)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOperation_OwnedBodyExpression()
+ * @model containment="true" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Operation!ownedBodyExpression'"
+ * @generated
+ */
+ ExpressionInOCL getOwnedBodyExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.Operation#getOwnedBodyExpression <em>Owned Body Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owned Body Expression</em>' containment reference.
+ * @see #getOwnedBodyExpression()
+ * @generated
+ */
+ void setOwnedBodyExpression(ExpressionInOCL value);
+
+} // Operation
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OperationCallExp.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OperationCallExp.java
new file mode 100644
index 000000000..b70b4dd43
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/OperationCallExp.java
@@ -0,0 +1,69 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation Call Exp</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.OperationCallExp#getOwnedArguments <em>Owned Arguments</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.OperationCallExp#getReferredOperation <em>Referred Operation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOperationCallExp()
+ * @model
+ * @generated
+ */
+public interface OperationCallExp extends CallExp {
+ /**
+ * Returns the value of the '<em><b>Owned Arguments</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.OCLExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Arguments</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Arguments</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOperationCallExp_OwnedArguments()
+ * @model containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!OperationCallExp!ownedArguments'"
+ * @generated
+ */
+ EList<OCLExpression> getOwnedArguments();
+
+ /**
+ * Returns the value of the '<em><b>Referred Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referred Operation</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referred Operation</em>' reference.
+ * @see #setReferredOperation(Operation)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getOperationCallExp_ReferredOperation()
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!OperationCallExp!referredOperation'"
+ * @generated
+ */
+ Operation getReferredOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.OperationCallExp#getReferredOperation <em>Referred Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referred Operation</em>' reference.
+ * @see #getReferredOperation()
+ * @generated
+ */
+ void setReferredOperation(Operation value);
+
+} // OperationCallExp
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Package.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Package.java
new file mode 100644
index 000000000..50ee5461b
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Package.java
@@ -0,0 +1,59 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Package</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Package#getOwnedClasses <em>Owned Classes</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Package#getOwnedPackages <em>Owned Packages</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getPackage()
+ * @model
+ * @generated
+ */
+public interface Package extends NamedElement, Namespace {
+ /**
+ * Returns the value of the '<em><b>Owned Classes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.Class}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Classes</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Classes</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getPackage_OwnedClasses()
+ * @model containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Package!ownedClasses'"
+ * @generated
+ */
+ EList<org.eclipse.qvtd.doc.miniocl.Class> getOwnedClasses();
+
+ /**
+ * Returns the value of the '<em><b>Owned Packages</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.Package}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Packages</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Packages</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getPackage_OwnedPackages()
+ * @model containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Package!ownedPackages'"
+ * @generated
+ */
+ EList<Package> getOwnedPackages();
+
+} // Package
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Parameter.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Parameter.java
new file mode 100644
index 000000000..8fde6cbcd
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Parameter.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getParameter()
+ * @model
+ * @generated
+ */
+public interface Parameter extends Variable {
+} // Parameter
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Property.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Property.java
new file mode 100644
index 000000000..ac370057f
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Property.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Property#getOwningClass <em>Owning Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getProperty()
+ * @model
+ * @generated
+ */
+public interface Property extends Feature {
+
+ /**
+ * Returns the value of the '<em><b>Owning Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owning Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owning Class</em>' reference.
+ * @see #setOwningClass(org.eclipse.qvtd.doc.miniocl.Class)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getProperty_OwningClass()
+ * @model annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Property!owningClass'"
+ * @generated
+ */
+ org.eclipse.qvtd.doc.miniocl.Class getOwningClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.Property#getOwningClass <em>Owning Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owning Class</em>' reference.
+ * @see #getOwningClass()
+ * @generated
+ */
+ void setOwningClass(org.eclipse.qvtd.doc.miniocl.Class value);
+} // Property
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/PropertyCallExp.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/PropertyCallExp.java
new file mode 100644
index 000000000..aa514c699
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/PropertyCallExp.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Call Exp</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.PropertyCallExp#getReferredProperty <em>Referred Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getPropertyCallExp()
+ * @model
+ * @generated
+ */
+public interface PropertyCallExp extends CallExp {
+ /**
+ * Returns the value of the '<em><b>Referred Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referred Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referred Property</em>' reference.
+ * @see #setReferredProperty(Property)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getPropertyCallExp_ReferredProperty()
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!PropertyCallExp!referredProperty'"
+ * @generated
+ */
+ Property getReferredProperty();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.PropertyCallExp#getReferredProperty <em>Referred Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referred Property</em>' reference.
+ * @see #getReferredProperty()
+ * @generated
+ */
+ void setReferredProperty(Property value);
+
+} // PropertyCallExp
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Root.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Root.java
new file mode 100644
index 000000000..b09ff510b
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Root.java
@@ -0,0 +1,41 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.Root#getOwnedPackages <em>Owned Packages</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getRoot()
+ * @model
+ * @generated
+ */
+public interface Root extends Element {
+ /**
+ * Returns the value of the '<em><b>Owned Packages</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.Package}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Packages</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Packages</em>' containment reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getRoot_OwnedPackages()
+ * @model containment="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!Root!ownedPackages'"
+ * @generated
+ */
+ EList<org.eclipse.qvtd.doc.miniocl.Package> getOwnedPackages();
+
+} // Root
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/TypedElement.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/TypedElement.java
new file mode 100644
index 000000000..9adc0ebdc
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/TypedElement.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Typed Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.TypedElement#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getTypedElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TypedElement extends Element {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(org.eclipse.qvtd.doc.miniocl.Class)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getTypedElement_Type()
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!TypedElement!type'"
+ * @generated
+ */
+ org.eclipse.qvtd.doc.miniocl.Class getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.TypedElement#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(org.eclipse.qvtd.doc.miniocl.Class value);
+
+} // TypedElement
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Variable.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Variable.java
new file mode 100644
index 000000000..37903afca
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/Variable.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Variable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getVariable()
+ * @model
+ * @generated
+ */
+public interface Variable extends NamedElement, TypedElement {
+} // Variable
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/VariableExp.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/VariableExp.java
new file mode 100644
index 000000000..21953b138
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/VariableExp.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Variable Exp</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.VariableExp#getReferredVariable <em>Referred Variable</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getVariableExp()
+ * @model
+ * @generated
+ */
+public interface VariableExp extends OCLExpression {
+
+ /**
+ * Returns the value of the '<em><b>Referred Variable</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referred Variable</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referred Variable</em>' reference.
+ * @see #setReferredVariable(Variable)
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#getVariableExp_ReferredVariable()
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/1.0!VariableExp!referredVariable'"
+ * @generated
+ */
+ Variable getReferredVariable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.VariableExp#getReferredVariable <em>Referred Variable</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referred Variable</em>' reference.
+ * @see #getReferredVariable()
+ * @generated
+ */
+ void setReferredVariable(Variable value);
+} // VariableExp
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/CallExpImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/CallExpImpl.java
new file mode 100644
index 000000000..6a97cdf1a
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/CallExpImpl.java
@@ -0,0 +1,173 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.qvtd.doc.miniocl.CallExp;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Exp</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.CallExpImpl#getOwnedSource <em>Owned Source</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class CallExpImpl extends OCLExpressionImpl implements CallExp {
+ /**
+ * The cached value of the '{@link #getOwnedSource() <em>Owned Source</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedSource()
+ * @generated
+ * @ordered
+ */
+ protected OCLExpression ownedSource;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallExpImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.CALL_EXP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OCLExpression getOwnedSource() {
+ return ownedSource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedSource(OCLExpression newOwnedSource, NotificationChain msgs) {
+ OCLExpression oldOwnedSource = ownedSource;
+ ownedSource = newOwnedSource;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MiniOCLPackage.CALL_EXP__OWNED_SOURCE, oldOwnedSource, newOwnedSource);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedSource(OCLExpression newOwnedSource) {
+ if (newOwnedSource != ownedSource) {
+ NotificationChain msgs = null;
+ if (ownedSource != null)
+ msgs = ((InternalEObject)ownedSource).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.CALL_EXP__OWNED_SOURCE, null, msgs);
+ if (newOwnedSource != null)
+ msgs = ((InternalEObject)newOwnedSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.CALL_EXP__OWNED_SOURCE, null, msgs);
+ msgs = basicSetOwnedSource(newOwnedSource, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.CALL_EXP__OWNED_SOURCE, newOwnedSource, newOwnedSource));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.CALL_EXP__OWNED_SOURCE:
+ return basicSetOwnedSource(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.CALL_EXP__OWNED_SOURCE:
+ return getOwnedSource();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.CALL_EXP__OWNED_SOURCE:
+ setOwnedSource((OCLExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.CALL_EXP__OWNED_SOURCE:
+ setOwnedSource((OCLExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.CALL_EXP__OWNED_SOURCE:
+ return ownedSource != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+} //CallExpImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ClassImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ClassImpl.java
new file mode 100644
index 000000000..4173f851f
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ClassImpl.java
@@ -0,0 +1,308 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.Constraint;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Operation;
+import org.eclipse.qvtd.doc.miniocl.Property;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.ClassImpl#getSuperClass <em>Super Class</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.ClassImpl#getOwnedOperations <em>Owned Operations</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.ClassImpl#getOwnedProperties <em>Owned Properties</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.ClassImpl#getOwnedInvariants <em>Owned Invariants</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClassImpl extends NamedElementImpl implements org.eclipse.qvtd.doc.miniocl.Class {
+ /**
+ * The cached value of the '{@link #getSuperClass() <em>Super Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuperClass()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.qvtd.doc.miniocl.Class superClass;
+
+ /**
+ * The cached value of the '{@link #getOwnedOperations() <em>Owned Operations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedOperations()
+ * @generated
+ * @ordered
+ */
+ protected EList<Operation> ownedOperations;
+
+ /**
+ * The cached value of the '{@link #getOwnedProperties() <em>Owned Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<Property> ownedProperties;
+
+ /**
+ * The cached value of the '{@link #getOwnedInvariants() <em>Owned Invariants</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedInvariants()
+ * @generated
+ * @ordered
+ */
+ protected EList<Constraint> ownedInvariants;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.CLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class getSuperClass() {
+ if (superClass != null && superClass.eIsProxy()) {
+ InternalEObject oldSuperClass = (InternalEObject)superClass;
+ superClass = (org.eclipse.qvtd.doc.miniocl.Class)eResolveProxy(oldSuperClass);
+ if (superClass != oldSuperClass) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.CLASS__SUPER_CLASS, oldSuperClass, superClass));
+ }
+ }
+ return superClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class basicGetSuperClass() {
+ return superClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuperClass(org.eclipse.qvtd.doc.miniocl.Class newSuperClass) {
+ org.eclipse.qvtd.doc.miniocl.Class oldSuperClass = superClass;
+ superClass = newSuperClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.CLASS__SUPER_CLASS, oldSuperClass, superClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Operation> getOwnedOperations() {
+ if (ownedOperations == null) {
+ ownedOperations = new EObjectContainmentWithInverseEList<Operation>(Operation.class, this, MiniOCLPackage.CLASS__OWNED_OPERATIONS, MiniOCLPackage.OPERATION__OWNING_CLASS);
+ }
+ return ownedOperations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getOwnedProperties() {
+ if (ownedProperties == null) {
+ ownedProperties = new EObjectContainmentEList<Property>(Property.class, this, MiniOCLPackage.CLASS__OWNED_PROPERTIES);
+ }
+ return ownedProperties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Constraint> getOwnedInvariants() {
+ if (ownedInvariants == null) {
+ ownedInvariants = new EObjectContainmentEList<Constraint>(Constraint.class, this, MiniOCLPackage.CLASS__OWNED_INVARIANTS);
+ }
+ return ownedInvariants;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.CLASS__OWNED_OPERATIONS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOwnedOperations()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.CLASS__OWNED_OPERATIONS:
+ return ((InternalEList<?>)getOwnedOperations()).basicRemove(otherEnd, msgs);
+ case MiniOCLPackage.CLASS__OWNED_PROPERTIES:
+ return ((InternalEList<?>)getOwnedProperties()).basicRemove(otherEnd, msgs);
+ case MiniOCLPackage.CLASS__OWNED_INVARIANTS:
+ return ((InternalEList<?>)getOwnedInvariants()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.CLASS__SUPER_CLASS:
+ if (resolve) return getSuperClass();
+ return basicGetSuperClass();
+ case MiniOCLPackage.CLASS__OWNED_OPERATIONS:
+ return getOwnedOperations();
+ case MiniOCLPackage.CLASS__OWNED_PROPERTIES:
+ return getOwnedProperties();
+ case MiniOCLPackage.CLASS__OWNED_INVARIANTS:
+ return getOwnedInvariants();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.CLASS__SUPER_CLASS:
+ setSuperClass((org.eclipse.qvtd.doc.miniocl.Class)newValue);
+ return;
+ case MiniOCLPackage.CLASS__OWNED_OPERATIONS:
+ getOwnedOperations().clear();
+ getOwnedOperations().addAll((Collection<? extends Operation>)newValue);
+ return;
+ case MiniOCLPackage.CLASS__OWNED_PROPERTIES:
+ getOwnedProperties().clear();
+ getOwnedProperties().addAll((Collection<? extends Property>)newValue);
+ return;
+ case MiniOCLPackage.CLASS__OWNED_INVARIANTS:
+ getOwnedInvariants().clear();
+ getOwnedInvariants().addAll((Collection<? extends Constraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.CLASS__SUPER_CLASS:
+ setSuperClass((org.eclipse.qvtd.doc.miniocl.Class)null);
+ return;
+ case MiniOCLPackage.CLASS__OWNED_OPERATIONS:
+ getOwnedOperations().clear();
+ return;
+ case MiniOCLPackage.CLASS__OWNED_PROPERTIES:
+ getOwnedProperties().clear();
+ return;
+ case MiniOCLPackage.CLASS__OWNED_INVARIANTS:
+ getOwnedInvariants().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.CLASS__SUPER_CLASS:
+ return superClass != null;
+ case MiniOCLPackage.CLASS__OWNED_OPERATIONS:
+ return ownedOperations != null && !ownedOperations.isEmpty();
+ case MiniOCLPackage.CLASS__OWNED_PROPERTIES:
+ return ownedProperties != null && !ownedProperties.isEmpty();
+ case MiniOCLPackage.CLASS__OWNED_INVARIANTS:
+ return ownedInvariants != null && !ownedInvariants.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitClass(this);
+ }
+
+} //ClassImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ConstraintImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ConstraintImpl.java
new file mode 100644
index 000000000..61f35478f
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ConstraintImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.Constraint;
+import org.eclipse.qvtd.doc.miniocl.ExpressionInOCL;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.ConstraintImpl#getOwnedSpecification <em>Owned Specification</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConstraintImpl extends NamedElementImpl implements Constraint {
+ /**
+ * The cached value of the '{@link #getOwnedSpecification() <em>Owned Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedSpecification()
+ * @generated
+ * @ordered
+ */
+ protected ExpressionInOCL ownedSpecification;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionInOCL getOwnedSpecification() {
+ if (ownedSpecification != null && ownedSpecification.eIsProxy()) {
+ InternalEObject oldOwnedSpecification = (InternalEObject)ownedSpecification;
+ ownedSpecification = (ExpressionInOCL)eResolveProxy(oldOwnedSpecification);
+ if (ownedSpecification != oldOwnedSpecification) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.CONSTRAINT__OWNED_SPECIFICATION, oldOwnedSpecification, ownedSpecification));
+ }
+ }
+ return ownedSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionInOCL basicGetOwnedSpecification() {
+ return ownedSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedSpecification(ExpressionInOCL newOwnedSpecification) {
+ ExpressionInOCL oldOwnedSpecification = ownedSpecification;
+ ownedSpecification = newOwnedSpecification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.CONSTRAINT__OWNED_SPECIFICATION, oldOwnedSpecification, ownedSpecification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.CONSTRAINT__OWNED_SPECIFICATION:
+ if (resolve) return getOwnedSpecification();
+ return basicGetOwnedSpecification();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.CONSTRAINT__OWNED_SPECIFICATION:
+ setOwnedSpecification((ExpressionInOCL)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.CONSTRAINT__OWNED_SPECIFICATION:
+ setOwnedSpecification((ExpressionInOCL)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.CONSTRAINT__OWNED_SPECIFICATION:
+ return ownedSpecification != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitConstraint(this);
+ }
+
+} //ConstraintImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ElementImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ElementImpl.java
new file mode 100644
index 000000000..58c2b7328
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ElementImpl.java
@@ -0,0 +1,38 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.qvtd.doc.miniocl.Element;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class ElementImpl extends MinimalEObjectImpl.Container implements Element {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.ELEMENT;
+ }
+
+
+} //ElementImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ExpressionInOCLImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ExpressionInOCLImpl.java
new file mode 100644
index 000000000..0b8a43c85
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ExpressionInOCLImpl.java
@@ -0,0 +1,250 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.ExpressionInOCL;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+import org.eclipse.qvtd.doc.miniocl.Variable;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression In OCL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.ExpressionInOCLImpl#getOwnedSelfVar <em>Owned Self Var</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.ExpressionInOCLImpl#getOwnedBody <em>Owned Body</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExpressionInOCLImpl extends ElementImpl implements ExpressionInOCL {
+ /**
+ * The cached value of the '{@link #getOwnedSelfVar() <em>Owned Self Var</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedSelfVar()
+ * @generated
+ * @ordered
+ */
+ protected Variable ownedSelfVar;
+
+ /**
+ * The cached value of the '{@link #getOwnedBody() <em>Owned Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedBody()
+ * @generated
+ * @ordered
+ */
+ protected OCLExpression ownedBody;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionInOCLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.EXPRESSION_IN_OCL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable getOwnedSelfVar() {
+ return ownedSelfVar;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedSelfVar(Variable newOwnedSelfVar, NotificationChain msgs) {
+ Variable oldOwnedSelfVar = ownedSelfVar;
+ ownedSelfVar = newOwnedSelfVar;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR, oldOwnedSelfVar, newOwnedSelfVar);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedSelfVar(Variable newOwnedSelfVar) {
+ if (newOwnedSelfVar != ownedSelfVar) {
+ NotificationChain msgs = null;
+ if (ownedSelfVar != null)
+ msgs = ((InternalEObject)ownedSelfVar).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR, null, msgs);
+ if (newOwnedSelfVar != null)
+ msgs = ((InternalEObject)newOwnedSelfVar).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR, null, msgs);
+ msgs = basicSetOwnedSelfVar(newOwnedSelfVar, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR, newOwnedSelfVar, newOwnedSelfVar));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OCLExpression getOwnedBody() {
+ return ownedBody;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedBody(OCLExpression newOwnedBody, NotificationChain msgs) {
+ OCLExpression oldOwnedBody = ownedBody;
+ ownedBody = newOwnedBody;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY, oldOwnedBody, newOwnedBody);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedBody(OCLExpression newOwnedBody) {
+ if (newOwnedBody != ownedBody) {
+ NotificationChain msgs = null;
+ if (ownedBody != null)
+ msgs = ((InternalEObject)ownedBody).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY, null, msgs);
+ if (newOwnedBody != null)
+ msgs = ((InternalEObject)newOwnedBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY, null, msgs);
+ msgs = basicSetOwnedBody(newOwnedBody, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY, newOwnedBody, newOwnedBody));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR:
+ return basicSetOwnedSelfVar(null, msgs);
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY:
+ return basicSetOwnedBody(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR:
+ return getOwnedSelfVar();
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY:
+ return getOwnedBody();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR:
+ setOwnedSelfVar((Variable)newValue);
+ return;
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY:
+ setOwnedBody((OCLExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR:
+ setOwnedSelfVar((Variable)null);
+ return;
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY:
+ setOwnedBody((OCLExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_SELF_VAR:
+ return ownedSelfVar != null;
+ case MiniOCLPackage.EXPRESSION_IN_OCL__OWNED_BODY:
+ return ownedBody != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitExpressionInOCL(this);
+ }
+
+} //ExpressionInOCLImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/FeatureImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/FeatureImpl.java
new file mode 100644
index 000000000..cf52ca8d5
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/FeatureImpl.java
@@ -0,0 +1,196 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.Feature;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.TypedElement;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.FeatureImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureImpl extends NamedElementImpl implements Feature {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.qvtd.doc.miniocl.Class type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.FEATURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (org.eclipse.qvtd.doc.miniocl.Class)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.FEATURE__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(org.eclipse.qvtd.doc.miniocl.Class newType) {
+ org.eclipse.qvtd.doc.miniocl.Class oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.FEATURE__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.FEATURE__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.FEATURE__TYPE:
+ setType((org.eclipse.qvtd.doc.miniocl.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.FEATURE__TYPE:
+ setType((org.eclipse.qvtd.doc.miniocl.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.FEATURE__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (derivedFeatureID) {
+ case MiniOCLPackage.FEATURE__TYPE: return MiniOCLPackage.TYPED_ELEMENT__TYPE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (baseFeatureID) {
+ case MiniOCLPackage.TYPED_ELEMENT__TYPE: return MiniOCLPackage.FEATURE__TYPE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitFeature(this);
+ }
+
+} //FeatureImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLFactoryImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLFactoryImpl.java
new file mode 100644
index 000000000..d584f9488
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLFactoryImpl.java
@@ -0,0 +1,248 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.qvtd.doc.miniocl.Constraint;
+import org.eclipse.qvtd.doc.miniocl.ExpressionInOCL;
+import org.eclipse.qvtd.doc.miniocl.Feature;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLFactory;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+import org.eclipse.qvtd.doc.miniocl.Operation;
+import org.eclipse.qvtd.doc.miniocl.OperationCallExp;
+import org.eclipse.qvtd.doc.miniocl.Parameter;
+import org.eclipse.qvtd.doc.miniocl.Property;
+import org.eclipse.qvtd.doc.miniocl.PropertyCallExp;
+import org.eclipse.qvtd.doc.miniocl.Root;
+import org.eclipse.qvtd.doc.miniocl.Variable;
+import org.eclipse.qvtd.doc.miniocl.VariableExp;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MiniOCLFactoryImpl extends EFactoryImpl implements MiniOCLFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MiniOCLFactory init() {
+ try {
+ MiniOCLFactory theMiniOCLFactory = (MiniOCLFactory)EPackage.Registry.INSTANCE.getEFactory(MiniOCLPackage.eNS_URI);
+ if (theMiniOCLFactory != null) {
+ return theMiniOCLFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new MiniOCLFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MiniOCLFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case MiniOCLPackage.CLASS: return createClass();
+ case MiniOCLPackage.FEATURE: return createFeature();
+ case MiniOCLPackage.OCL_EXPRESSION: return createOCLExpression();
+ case MiniOCLPackage.OPERATION_CALL_EXP: return createOperationCallExp();
+ case MiniOCLPackage.OPERATION: return createOperation();
+ case MiniOCLPackage.PACKAGE: return createPackage();
+ case MiniOCLPackage.PARAMETER: return createParameter();
+ case MiniOCLPackage.PROPERTY: return createProperty();
+ case MiniOCLPackage.PROPERTY_CALL_EXP: return createPropertyCallExp();
+ case MiniOCLPackage.ROOT: return createRoot();
+ case MiniOCLPackage.VARIABLE: return createVariable();
+ case MiniOCLPackage.VARIABLE_EXP: return createVariableExp();
+ case MiniOCLPackage.EXPRESSION_IN_OCL: return createExpressionInOCL();
+ case MiniOCLPackage.CONSTRAINT: return createConstraint();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OCLExpression createOCLExpression() {
+ OCLExpressionImpl oclExpression = new OCLExpressionImpl();
+ return oclExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Root createRoot() {
+ RootImpl root = new RootImpl();
+ return root;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Package createPackage() {
+ PackageImpl package_ = new PackageImpl();
+ return package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class createClass() {
+ ClassImpl class_ = new ClassImpl();
+ return class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Feature createFeature() {
+ FeatureImpl feature = new FeatureImpl();
+ return feature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createProperty() {
+ PropertyImpl property = new PropertyImpl();
+ return property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOperation() {
+ OperationImpl operation = new OperationImpl();
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter createParameter() {
+ ParameterImpl parameter = new ParameterImpl();
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertyCallExp createPropertyCallExp() {
+ PropertyCallExpImpl propertyCallExp = new PropertyCallExpImpl();
+ return propertyCallExp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationCallExp createOperationCallExp() {
+ OperationCallExpImpl operationCallExp = new OperationCallExpImpl();
+ return operationCallExp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable createVariable() {
+ VariableImpl variable = new VariableImpl();
+ return variable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableExp createVariableExp() {
+ VariableExpImpl variableExp = new VariableExpImpl();
+ return variableExp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionInOCL createExpressionInOCL() {
+ ExpressionInOCLImpl expressionInOCL = new ExpressionInOCLImpl();
+ return expressionInOCL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createConstraint() {
+ ConstraintImpl constraint = new ConstraintImpl();
+ return constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MiniOCLPackage getMiniOCLPackage() {
+ return (MiniOCLPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static MiniOCLPackage getPackage() {
+ return MiniOCLPackage.eINSTANCE;
+ }
+
+} //MiniOCLFactoryImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLPackageImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLPackageImpl.java
new file mode 100644
index 000000000..af24144cd
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/MiniOCLPackageImpl.java
@@ -0,0 +1,837 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import static org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.CLASS;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.qvtd.doc.miniocl.CallExp;
+import org.eclipse.qvtd.doc.miniocl.Constraint;
+import org.eclipse.qvtd.doc.miniocl.Element;
+import org.eclipse.qvtd.doc.miniocl.ExpressionInOCL;
+import org.eclipse.qvtd.doc.miniocl.Feature;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLFactory;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+import org.eclipse.qvtd.doc.miniocl.Namespace;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+import org.eclipse.qvtd.doc.miniocl.Operation;
+import org.eclipse.qvtd.doc.miniocl.OperationCallExp;
+import org.eclipse.qvtd.doc.miniocl.Parameter;
+import org.eclipse.qvtd.doc.miniocl.Property;
+import org.eclipse.qvtd.doc.miniocl.PropertyCallExp;
+import org.eclipse.qvtd.doc.miniocl.Root;
+import org.eclipse.qvtd.doc.miniocl.TypedElement;
+import org.eclipse.qvtd.doc.miniocl.Variable;
+import org.eclipse.qvtd.doc.miniocl.VariableExp;
+import org.eclipse.qvtd.doc.miniocl.util.Visitable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MiniOCLPackageImpl extends EPackageImpl implements MiniOCLPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass elementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass namedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass namespaceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass typedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expressionInOCLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass constraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass oclExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callExpEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rootEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyCallExpEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationCallExpEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variableExpEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass visitableEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private MiniOCLPackageImpl() {
+ super(eNS_URI, MiniOCLFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link MiniOCLPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static MiniOCLPackage init() {
+ if (isInited) return (MiniOCLPackage)EPackage.Registry.INSTANCE.getEPackage(MiniOCLPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ MiniOCLPackageImpl theMiniOCLPackage = (MiniOCLPackageImpl)(ePackage instanceof MiniOCLPackageImpl ? ePackage : new MiniOCLPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theMiniOCLPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theMiniOCLPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theMiniOCLPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(MiniOCLPackage.eNS_URI, theMiniOCLPackage);
+ return theMiniOCLPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getElement() {
+ return elementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeature() {
+ return featureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNamedElement() {
+ return namedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNamedElement_Name() {
+ return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNamespace() {
+ return namespaceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTypedElement() {
+ return typedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTypedElement_Type() {
+ return (EReference)typedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpressionInOCL() {
+ return expressionInOCLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpressionInOCL_OwnedSelfVar() {
+ return (EReference)expressionInOCLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpressionInOCL_OwnedBody() {
+ return (EReference)expressionInOCLEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConstraint() {
+ return constraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstraint_OwnedSpecification() {
+ return (EReference)constraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOCLExpression() {
+ return oclExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallExp() {
+ return callExpEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallExp_OwnedSource() {
+ return (EReference)callExpEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRoot() {
+ return rootEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRoot_OwnedPackages() {
+ return (EReference)rootEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackage() {
+ return packageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_OwnedClasses() {
+ return (EReference)packageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_OwnedPackages() {
+ return (EReference)packageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClass_() {
+ return classEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_SuperClass() {
+ return (EReference)classEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_OwnedOperations() {
+ return (EReference)classEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_OwnedProperties() {
+ return (EReference)classEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_OwnedInvariants() {
+ return (EReference)classEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProperty() {
+ return propertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_OwningClass() {
+ return (EReference)propertyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperation() {
+ return operationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_OwnedParameters() {
+ return (EReference)operationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_OwningClass() {
+ return (EReference)operationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_OwnedBodyExpression() {
+ return (EReference)operationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParameter() {
+ return parameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPropertyCallExp() {
+ return propertyCallExpEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPropertyCallExp_ReferredProperty() {
+ return (EReference)propertyCallExpEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperationCallExp() {
+ return operationCallExpEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperationCallExp_OwnedArguments() {
+ return (EReference)operationCallExpEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperationCallExp_ReferredOperation() {
+ return (EReference)operationCallExpEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariable() {
+ return variableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariableExp() {
+ return variableExpEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableExp_ReferredVariable() {
+ return (EReference)variableExpEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVisitable() {
+ return visitableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MiniOCLFactory getMiniOCLFactory() {
+ return (MiniOCLFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ callExpEClass = createEClass(CALL_EXP);
+ createEReference(callExpEClass, CALL_EXP__OWNED_SOURCE);
+
+ classEClass = createEClass(CLASS);
+ createEReference(classEClass, CLASS__SUPER_CLASS);
+ createEReference(classEClass, CLASS__OWNED_OPERATIONS);
+ createEReference(classEClass, CLASS__OWNED_PROPERTIES);
+ createEReference(classEClass, CLASS__OWNED_INVARIANTS);
+
+ elementEClass = createEClass(ELEMENT);
+
+ featureEClass = createEClass(FEATURE);
+
+ namedElementEClass = createEClass(NAMED_ELEMENT);
+ createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
+
+ namespaceEClass = createEClass(NAMESPACE);
+
+ oclExpressionEClass = createEClass(OCL_EXPRESSION);
+
+ operationCallExpEClass = createEClass(OPERATION_CALL_EXP);
+ createEReference(operationCallExpEClass, OPERATION_CALL_EXP__OWNED_ARGUMENTS);
+ createEReference(operationCallExpEClass, OPERATION_CALL_EXP__REFERRED_OPERATION);
+
+ operationEClass = createEClass(OPERATION);
+ createEReference(operationEClass, OPERATION__OWNED_PARAMETERS);
+ createEReference(operationEClass, OPERATION__OWNING_CLASS);
+ createEReference(operationEClass, OPERATION__OWNED_BODY_EXPRESSION);
+
+ packageEClass = createEClass(PACKAGE);
+ createEReference(packageEClass, PACKAGE__OWNED_CLASSES);
+ createEReference(packageEClass, PACKAGE__OWNED_PACKAGES);
+
+ parameterEClass = createEClass(PARAMETER);
+
+ propertyEClass = createEClass(PROPERTY);
+ createEReference(propertyEClass, PROPERTY__OWNING_CLASS);
+
+ propertyCallExpEClass = createEClass(PROPERTY_CALL_EXP);
+ createEReference(propertyCallExpEClass, PROPERTY_CALL_EXP__REFERRED_PROPERTY);
+
+ rootEClass = createEClass(ROOT);
+ createEReference(rootEClass, ROOT__OWNED_PACKAGES);
+
+ variableEClass = createEClass(VARIABLE);
+
+ variableExpEClass = createEClass(VARIABLE_EXP);
+ createEReference(variableExpEClass, VARIABLE_EXP__REFERRED_VARIABLE);
+
+ visitableEClass = createEClass(VISITABLE);
+
+ typedElementEClass = createEClass(TYPED_ELEMENT);
+ createEReference(typedElementEClass, TYPED_ELEMENT__TYPE);
+
+ expressionInOCLEClass = createEClass(EXPRESSION_IN_OCL);
+ createEReference(expressionInOCLEClass, EXPRESSION_IN_OCL__OWNED_SELF_VAR);
+ createEReference(expressionInOCLEClass, EXPRESSION_IN_OCL__OWNED_BODY);
+
+ constraintEClass = createEClass(CONSTRAINT);
+ createEReference(constraintEClass, CONSTRAINT__OWNED_SPECIFICATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ callExpEClass.getESuperTypes().add(this.getOCLExpression());
+ classEClass.getESuperTypes().add(this.getNamedElement());
+ elementEClass.getESuperTypes().add(this.getVisitable());
+ featureEClass.getESuperTypes().add(this.getNamedElement());
+ featureEClass.getESuperTypes().add(this.getTypedElement());
+ namedElementEClass.getESuperTypes().add(this.getElement());
+ namespaceEClass.getESuperTypes().add(this.getElement());
+ oclExpressionEClass.getESuperTypes().add(this.getTypedElement());
+ operationCallExpEClass.getESuperTypes().add(this.getCallExp());
+ operationEClass.getESuperTypes().add(this.getFeature());
+ packageEClass.getESuperTypes().add(this.getNamedElement());
+ packageEClass.getESuperTypes().add(this.getNamespace());
+ parameterEClass.getESuperTypes().add(this.getVariable());
+ propertyEClass.getESuperTypes().add(this.getFeature());
+ propertyCallExpEClass.getESuperTypes().add(this.getCallExp());
+ rootEClass.getESuperTypes().add(this.getElement());
+ variableEClass.getESuperTypes().add(this.getNamedElement());
+ variableEClass.getESuperTypes().add(this.getTypedElement());
+ variableExpEClass.getESuperTypes().add(this.getOCLExpression());
+ typedElementEClass.getESuperTypes().add(this.getElement());
+ expressionInOCLEClass.getESuperTypes().add(this.getElement());
+ constraintEClass.getESuperTypes().add(this.getNamedElement());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(callExpEClass, CallExp.class, "CallExp", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCallExp_OwnedSource(), this.getOCLExpression(), null, "ownedSource", null, 1, 1, CallExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classEClass, org.eclipse.qvtd.doc.miniocl.Class.class, "Class", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClass_SuperClass(), this.getClass_(), null, "superClass", null, 0, 1, org.eclipse.qvtd.doc.miniocl.Class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClass_OwnedOperations(), this.getOperation(), this.getOperation_OwningClass(), "ownedOperations", null, 0, -1, org.eclipse.qvtd.doc.miniocl.Class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClass_OwnedProperties(), this.getProperty(), null, "ownedProperties", null, 0, -1, org.eclipse.qvtd.doc.miniocl.Class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClass_OwnedInvariants(), this.getConstraint(), null, "ownedInvariants", null, 0, -1, org.eclipse.qvtd.doc.miniocl.Class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(elementEClass, Element.class, "Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(featureEClass, Feature.class, "Feature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(namedElementEClass, NamedElement.class, "NamedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(namespaceEClass, Namespace.class, "Namespace", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(oclExpressionEClass, OCLExpression.class, "OCLExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(operationCallExpEClass, OperationCallExp.class, "OperationCallExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOperationCallExp_OwnedArguments(), this.getOCLExpression(), null, "ownedArguments", null, 0, -1, OperationCallExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOperationCallExp_ReferredOperation(), this.getOperation(), null, "referredOperation", null, 1, 1, OperationCallExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(operationEClass, Operation.class, "Operation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOperation_OwnedParameters(), this.getParameter(), null, "ownedParameters", null, 0, -1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOperation_OwningClass(), this.getClass_(), this.getClass_OwnedOperations(), "owningClass", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOperation_OwnedBodyExpression(), this.getExpressionInOCL(), null, "ownedBodyExpression", null, 1, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(packageEClass, org.eclipse.qvtd.doc.miniocl.Package.class, "Package", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPackage_OwnedClasses(), this.getClass_(), null, "ownedClasses", null, 0, -1, org.eclipse.qvtd.doc.miniocl.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPackage_OwnedPackages(), this.getPackage(), null, "ownedPackages", null, 0, -1, org.eclipse.qvtd.doc.miniocl.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProperty_OwningClass(), this.getClass_(), null, "owningClass", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(propertyCallExpEClass, PropertyCallExp.class, "PropertyCallExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPropertyCallExp_ReferredProperty(), this.getProperty(), null, "referredProperty", null, 1, 1, PropertyCallExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rootEClass, Root.class, "Root", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRoot_OwnedPackages(), this.getPackage(), null, "ownedPackages", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(variableExpEClass, VariableExp.class, "VariableExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVariableExp_ReferredVariable(), this.getVariable(), null, "referredVariable", null, 1, 1, VariableExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(visitableEClass, Visitable.class, "Visitable", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(typedElementEClass, TypedElement.class, "TypedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTypedElement_Type(), this.getClass_(), null, "type", null, 1, 1, TypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(expressionInOCLEClass, ExpressionInOCL.class, "ExpressionInOCL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExpressionInOCL_OwnedSelfVar(), this.getVariable(), null, "ownedSelfVar", null, 1, 1, ExpressionInOCL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getExpressionInOCL_OwnedBody(), this.getOCLExpression(), null, "ownedBody", null, 1, 1, ExpressionInOCL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(constraintEClass, Constraint.class, "Constraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConstraint_OwnedSpecification(), this.getExpressionInOCL(), null, "ownedSpecification", null, 1, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ });
+ }
+
+} //MiniOCLPackageImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamedElementImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamedElementImpl.java
new file mode 100644
index 000000000..688f2ed1d
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamedElementImpl.java
@@ -0,0 +1,160 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.NamedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class NamedElementImpl extends ElementImpl implements NamedElement {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.NAMED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.NAMED_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.NAMED_ELEMENT__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.NAMED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.NAMED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.NAMED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+
+} //NamedElementImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamespaceImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamespaceImpl.java
new file mode 100644
index 000000000..e3110641e
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/NamespaceImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Namespace;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Namespace</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class NamespaceImpl extends ElementImpl implements Namespace {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamespaceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.NAMESPACE;
+ }
+
+
+} //NamespaceImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OCLExpressionImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OCLExpressionImpl.java
new file mode 100644
index 000000000..66d1c7aec
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OCLExpressionImpl.java
@@ -0,0 +1,47 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>OCL Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class OCLExpressionImpl extends TypedElementImpl implements OCLExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OCLExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.OCL_EXPRESSION;
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitOCLExpression(this);
+ }
+
+} //OCLExpressionImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationCallExpImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationCallExpImpl.java
new file mode 100644
index 000000000..4fc7b7672
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationCallExpImpl.java
@@ -0,0 +1,220 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+import org.eclipse.qvtd.doc.miniocl.Operation;
+import org.eclipse.qvtd.doc.miniocl.OperationCallExp;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Call Exp</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.OperationCallExpImpl#getOwnedArguments <em>Owned Arguments</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.OperationCallExpImpl#getReferredOperation <em>Referred Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationCallExpImpl extends CallExpImpl implements OperationCallExp {
+ /**
+ * The cached value of the '{@link #getOwnedArguments() <em>Owned Arguments</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedArguments()
+ * @generated
+ * @ordered
+ */
+ protected EList<OCLExpression> ownedArguments;
+
+ /**
+ * The cached value of the '{@link #getReferredOperation() <em>Referred Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferredOperation()
+ * @generated
+ * @ordered
+ */
+ protected Operation referredOperation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationCallExpImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.OPERATION_CALL_EXP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OCLExpression> getOwnedArguments() {
+ if (ownedArguments == null) {
+ ownedArguments = new EObjectContainmentEList<OCLExpression>(OCLExpression.class, this, MiniOCLPackage.OPERATION_CALL_EXP__OWNED_ARGUMENTS);
+ }
+ return ownedArguments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getReferredOperation() {
+ if (referredOperation != null && referredOperation.eIsProxy()) {
+ InternalEObject oldReferredOperation = (InternalEObject)referredOperation;
+ referredOperation = (Operation)eResolveProxy(oldReferredOperation);
+ if (referredOperation != oldReferredOperation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.OPERATION_CALL_EXP__REFERRED_OPERATION, oldReferredOperation, referredOperation));
+ }
+ }
+ return referredOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetReferredOperation() {
+ return referredOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferredOperation(Operation newReferredOperation) {
+ Operation oldReferredOperation = referredOperation;
+ referredOperation = newReferredOperation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.OPERATION_CALL_EXP__REFERRED_OPERATION, oldReferredOperation, referredOperation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION_CALL_EXP__OWNED_ARGUMENTS:
+ return ((InternalEList<?>)getOwnedArguments()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION_CALL_EXP__OWNED_ARGUMENTS:
+ return getOwnedArguments();
+ case MiniOCLPackage.OPERATION_CALL_EXP__REFERRED_OPERATION:
+ if (resolve) return getReferredOperation();
+ return basicGetReferredOperation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION_CALL_EXP__OWNED_ARGUMENTS:
+ getOwnedArguments().clear();
+ getOwnedArguments().addAll((Collection<? extends OCLExpression>)newValue);
+ return;
+ case MiniOCLPackage.OPERATION_CALL_EXP__REFERRED_OPERATION:
+ setReferredOperation((Operation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION_CALL_EXP__OWNED_ARGUMENTS:
+ getOwnedArguments().clear();
+ return;
+ case MiniOCLPackage.OPERATION_CALL_EXP__REFERRED_OPERATION:
+ setReferredOperation((Operation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION_CALL_EXP__OWNED_ARGUMENTS:
+ return ownedArguments != null && !ownedArguments.isEmpty();
+ case MiniOCLPackage.OPERATION_CALL_EXP__REFERRED_OPERATION:
+ return referredOperation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitOperationCallExp(this);
+ }
+
+} //OperationCallExpImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationImpl.java
new file mode 100644
index 000000000..8288cc2fa
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/OperationImpl.java
@@ -0,0 +1,311 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.ExpressionInOCL;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Operation;
+import org.eclipse.qvtd.doc.miniocl.Parameter;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.OperationImpl#getOwnedParameters <em>Owned Parameters</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.OperationImpl#getOwningClass <em>Owning Class</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.OperationImpl#getOwnedBodyExpression <em>Owned Body Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationImpl extends FeatureImpl implements Operation {
+ /**
+ * The cached value of the '{@link #getOwnedParameters() <em>Owned Parameters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedParameters()
+ * @generated
+ * @ordered
+ */
+ protected EList<Parameter> ownedParameters;
+
+ /**
+ * The cached value of the '{@link #getOwnedBodyExpression() <em>Owned Body Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedBodyExpression()
+ * @generated
+ * @ordered
+ */
+ protected ExpressionInOCL ownedBodyExpression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> getOwnedParameters() {
+ if (ownedParameters == null) {
+ ownedParameters = new EObjectContainmentEList<Parameter>(Parameter.class, this, MiniOCLPackage.OPERATION__OWNED_PARAMETERS);
+ }
+ return ownedParameters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class getOwningClass() {
+ if (eContainerFeatureID() != MiniOCLPackage.OPERATION__OWNING_CLASS) return null;
+ return (org.eclipse.qvtd.doc.miniocl.Class)eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningClass(org.eclipse.qvtd.doc.miniocl.Class newOwningClass, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newOwningClass, MiniOCLPackage.OPERATION__OWNING_CLASS, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningClass(org.eclipse.qvtd.doc.miniocl.Class newOwningClass) {
+ if (newOwningClass != eInternalContainer() || (eContainerFeatureID() != MiniOCLPackage.OPERATION__OWNING_CLASS && newOwningClass != null)) {
+ if (EcoreUtil.isAncestor(this, newOwningClass))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newOwningClass != null)
+ msgs = ((InternalEObject)newOwningClass).eInverseAdd(this, MiniOCLPackage.CLASS__OWNED_OPERATIONS, org.eclipse.qvtd.doc.miniocl.Class.class, msgs);
+ msgs = basicSetOwningClass(newOwningClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.OPERATION__OWNING_CLASS, newOwningClass, newOwningClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionInOCL getOwnedBodyExpression() {
+ return ownedBodyExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedBodyExpression(ExpressionInOCL newOwnedBodyExpression, NotificationChain msgs) {
+ ExpressionInOCL oldOwnedBodyExpression = ownedBodyExpression;
+ ownedBodyExpression = newOwnedBodyExpression;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION, oldOwnedBodyExpression, newOwnedBodyExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedBodyExpression(ExpressionInOCL newOwnedBodyExpression) {
+ if (newOwnedBodyExpression != ownedBodyExpression) {
+ NotificationChain msgs = null;
+ if (ownedBodyExpression != null)
+ msgs = ((InternalEObject)ownedBodyExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION, null, msgs);
+ if (newOwnedBodyExpression != null)
+ msgs = ((InternalEObject)newOwnedBodyExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION, null, msgs);
+ msgs = basicSetOwnedBodyExpression(newOwnedBodyExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION, newOwnedBodyExpression, newOwnedBodyExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION__OWNING_CLASS:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningClass((org.eclipse.qvtd.doc.miniocl.Class)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION__OWNED_PARAMETERS:
+ return ((InternalEList<?>)getOwnedParameters()).basicRemove(otherEnd, msgs);
+ case MiniOCLPackage.OPERATION__OWNING_CLASS:
+ return basicSetOwningClass(null, msgs);
+ case MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION:
+ return basicSetOwnedBodyExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case MiniOCLPackage.OPERATION__OWNING_CLASS:
+ return eInternalContainer().eInverseRemove(this, MiniOCLPackage.CLASS__OWNED_OPERATIONS, org.eclipse.qvtd.doc.miniocl.Class.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION__OWNED_PARAMETERS:
+ return getOwnedParameters();
+ case MiniOCLPackage.OPERATION__OWNING_CLASS:
+ return getOwningClass();
+ case MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION:
+ return getOwnedBodyExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION__OWNED_PARAMETERS:
+ getOwnedParameters().clear();
+ getOwnedParameters().addAll((Collection<? extends Parameter>)newValue);
+ return;
+ case MiniOCLPackage.OPERATION__OWNING_CLASS:
+ setOwningClass((org.eclipse.qvtd.doc.miniocl.Class)newValue);
+ return;
+ case MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION:
+ setOwnedBodyExpression((ExpressionInOCL)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION__OWNED_PARAMETERS:
+ getOwnedParameters().clear();
+ return;
+ case MiniOCLPackage.OPERATION__OWNING_CLASS:
+ setOwningClass((org.eclipse.qvtd.doc.miniocl.Class)null);
+ return;
+ case MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION:
+ setOwnedBodyExpression((ExpressionInOCL)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.OPERATION__OWNED_PARAMETERS:
+ return ownedParameters != null && !ownedParameters.isEmpty();
+ case MiniOCLPackage.OPERATION__OWNING_CLASS:
+ return getOwningClass() != null;
+ case MiniOCLPackage.OPERATION__OWNED_BODY_EXPRESSION:
+ return ownedBodyExpression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitOperation(this);
+ }
+
+} //OperationImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PackageImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PackageImpl.java
new file mode 100644
index 000000000..a1b471ce6
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PackageImpl.java
@@ -0,0 +1,191 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.PackageImpl#getOwnedClasses <em>Owned Classes</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.PackageImpl#getOwnedPackages <em>Owned Packages</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PackageImpl extends NamedElementImpl implements org.eclipse.qvtd.doc.miniocl.Package {
+ /**
+ * The cached value of the '{@link #getOwnedClasses() <em>Owned Classes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedClasses()
+ * @generated
+ * @ordered
+ */
+ protected EList<org.eclipse.qvtd.doc.miniocl.Class> ownedClasses;
+
+ /**
+ * The cached value of the '{@link #getOwnedPackages() <em>Owned Packages</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedPackages()
+ * @generated
+ * @ordered
+ */
+ protected EList<org.eclipse.qvtd.doc.miniocl.Package> ownedPackages;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.PACKAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.qvtd.doc.miniocl.Class> getOwnedClasses() {
+ if (ownedClasses == null) {
+ ownedClasses = new EObjectContainmentEList<org.eclipse.qvtd.doc.miniocl.Class>(org.eclipse.qvtd.doc.miniocl.Class.class, this, MiniOCLPackage.PACKAGE__OWNED_CLASSES);
+ }
+ return ownedClasses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.qvtd.doc.miniocl.Package> getOwnedPackages() {
+ if (ownedPackages == null) {
+ ownedPackages = new EObjectContainmentEList<org.eclipse.qvtd.doc.miniocl.Package>(org.eclipse.qvtd.doc.miniocl.Package.class, this, MiniOCLPackage.PACKAGE__OWNED_PACKAGES);
+ }
+ return ownedPackages;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.PACKAGE__OWNED_CLASSES:
+ return ((InternalEList<?>)getOwnedClasses()).basicRemove(otherEnd, msgs);
+ case MiniOCLPackage.PACKAGE__OWNED_PACKAGES:
+ return ((InternalEList<?>)getOwnedPackages()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.PACKAGE__OWNED_CLASSES:
+ return getOwnedClasses();
+ case MiniOCLPackage.PACKAGE__OWNED_PACKAGES:
+ return getOwnedPackages();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.PACKAGE__OWNED_CLASSES:
+ getOwnedClasses().clear();
+ getOwnedClasses().addAll((Collection<? extends org.eclipse.qvtd.doc.miniocl.Class>)newValue);
+ return;
+ case MiniOCLPackage.PACKAGE__OWNED_PACKAGES:
+ getOwnedPackages().clear();
+ getOwnedPackages().addAll((Collection<? extends org.eclipse.qvtd.doc.miniocl.Package>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.PACKAGE__OWNED_CLASSES:
+ getOwnedClasses().clear();
+ return;
+ case MiniOCLPackage.PACKAGE__OWNED_PACKAGES:
+ getOwnedPackages().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.PACKAGE__OWNED_CLASSES:
+ return ownedClasses != null && !ownedClasses.isEmpty();
+ case MiniOCLPackage.PACKAGE__OWNED_PACKAGES:
+ return ownedPackages != null && !ownedPackages.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitPackage(this);
+ }
+
+} //PackageImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ParameterImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ParameterImpl.java
new file mode 100644
index 000000000..c1b27c2d6
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/ParameterImpl.java
@@ -0,0 +1,47 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Parameter;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ParameterImpl extends VariableImpl implements Parameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.PARAMETER;
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitParameter(this);
+ }
+
+} //ParameterImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyCallExpImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyCallExpImpl.java
new file mode 100644
index 000000000..6b5e27c1a
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyCallExpImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Property;
+import org.eclipse.qvtd.doc.miniocl.PropertyCallExp;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Call Exp</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.PropertyCallExpImpl#getReferredProperty <em>Referred Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PropertyCallExpImpl extends CallExpImpl implements PropertyCallExp {
+ /**
+ * The cached value of the '{@link #getReferredProperty() <em>Referred Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferredProperty()
+ * @generated
+ * @ordered
+ */
+ protected Property referredProperty;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertyCallExpImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.PROPERTY_CALL_EXP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getReferredProperty() {
+ if (referredProperty != null && referredProperty.eIsProxy()) {
+ InternalEObject oldReferredProperty = (InternalEObject)referredProperty;
+ referredProperty = (Property)eResolveProxy(oldReferredProperty);
+ if (referredProperty != oldReferredProperty) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.PROPERTY_CALL_EXP__REFERRED_PROPERTY, oldReferredProperty, referredProperty));
+ }
+ }
+ return referredProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetReferredProperty() {
+ return referredProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferredProperty(Property newReferredProperty) {
+ Property oldReferredProperty = referredProperty;
+ referredProperty = newReferredProperty;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.PROPERTY_CALL_EXP__REFERRED_PROPERTY, oldReferredProperty, referredProperty));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY_CALL_EXP__REFERRED_PROPERTY:
+ if (resolve) return getReferredProperty();
+ return basicGetReferredProperty();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY_CALL_EXP__REFERRED_PROPERTY:
+ setReferredProperty((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY_CALL_EXP__REFERRED_PROPERTY:
+ setReferredProperty((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY_CALL_EXP__REFERRED_PROPERTY:
+ return referredProperty != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitPropertyCallExp(this);
+ }
+
+} //PropertyCallExpImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyImpl.java
new file mode 100644
index 000000000..64c34a25f
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/PropertyImpl.java
@@ -0,0 +1,163 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Property;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.PropertyImpl#getOwningClass <em>Owning Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PropertyImpl extends FeatureImpl implements Property {
+ /**
+ * The cached value of the '{@link #getOwningClass() <em>Owning Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwningClass()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.qvtd.doc.miniocl.Class owningClass;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.PROPERTY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class getOwningClass() {
+ if (owningClass != null && owningClass.eIsProxy()) {
+ InternalEObject oldOwningClass = (InternalEObject)owningClass;
+ owningClass = (org.eclipse.qvtd.doc.miniocl.Class)eResolveProxy(oldOwningClass);
+ if (owningClass != oldOwningClass) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.PROPERTY__OWNING_CLASS, oldOwningClass, owningClass));
+ }
+ }
+ return owningClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class basicGetOwningClass() {
+ return owningClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningClass(org.eclipse.qvtd.doc.miniocl.Class newOwningClass) {
+ org.eclipse.qvtd.doc.miniocl.Class oldOwningClass = owningClass;
+ owningClass = newOwningClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.PROPERTY__OWNING_CLASS, oldOwningClass, owningClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY__OWNING_CLASS:
+ if (resolve) return getOwningClass();
+ return basicGetOwningClass();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY__OWNING_CLASS:
+ setOwningClass((org.eclipse.qvtd.doc.miniocl.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY__OWNING_CLASS:
+ setOwningClass((org.eclipse.qvtd.doc.miniocl.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.PROPERTY__OWNING_CLASS:
+ return owningClass != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitProperty(this);
+ }
+
+} //PropertyImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/RootImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/RootImpl.java
new file mode 100644
index 000000000..947ada003
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/RootImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Root;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.RootImpl#getOwnedPackages <em>Owned Packages</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RootImpl extends ElementImpl implements Root {
+ /**
+ * The cached value of the '{@link #getOwnedPackages() <em>Owned Packages</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedPackages()
+ * @generated
+ * @ordered
+ */
+ protected EList<org.eclipse.qvtd.doc.miniocl.Package> ownedPackages;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RootImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.ROOT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.qvtd.doc.miniocl.Package> getOwnedPackages() {
+ if (ownedPackages == null) {
+ ownedPackages = new EObjectContainmentEList<org.eclipse.qvtd.doc.miniocl.Package>(org.eclipse.qvtd.doc.miniocl.Package.class, this, MiniOCLPackage.ROOT__OWNED_PACKAGES);
+ }
+ return ownedPackages;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case MiniOCLPackage.ROOT__OWNED_PACKAGES:
+ return ((InternalEList<?>)getOwnedPackages()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.ROOT__OWNED_PACKAGES:
+ return getOwnedPackages();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.ROOT__OWNED_PACKAGES:
+ getOwnedPackages().clear();
+ getOwnedPackages().addAll((Collection<? extends org.eclipse.qvtd.doc.miniocl.Package>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.ROOT__OWNED_PACKAGES:
+ getOwnedPackages().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.ROOT__OWNED_PACKAGES:
+ return ownedPackages != null && !ownedPackages.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitRoot(this);
+ }
+
+} //RootImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/TypedElementImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/TypedElementImpl.java
new file mode 100644
index 000000000..5f4a4e163
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/TypedElementImpl.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Typed Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.TypedElementImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class TypedElementImpl extends ElementImpl implements TypedElement {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.qvtd.doc.miniocl.Class type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TypedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.TYPED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (org.eclipse.qvtd.doc.miniocl.Class)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.TYPED_ELEMENT__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(org.eclipse.qvtd.doc.miniocl.Class newType) {
+ org.eclipse.qvtd.doc.miniocl.Class oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.TYPED_ELEMENT__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.TYPED_ELEMENT__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.TYPED_ELEMENT__TYPE:
+ setType((org.eclipse.qvtd.doc.miniocl.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.TYPED_ELEMENT__TYPE:
+ setType((org.eclipse.qvtd.doc.miniocl.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.TYPED_ELEMENT__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+} //TypedElementImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableExpImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableExpImpl.java
new file mode 100644
index 000000000..c4aacffb0
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableExpImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.Variable;
+import org.eclipse.qvtd.doc.miniocl.VariableExp;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variable Exp</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.VariableExpImpl#getReferredVariable <em>Referred Variable</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class VariableExpImpl extends OCLExpressionImpl implements VariableExp {
+ /**
+ * The cached value of the '{@link #getReferredVariable() <em>Referred Variable</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferredVariable()
+ * @generated
+ * @ordered
+ */
+ protected Variable referredVariable;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariableExpImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.VARIABLE_EXP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable getReferredVariable() {
+ if (referredVariable != null && referredVariable.eIsProxy()) {
+ InternalEObject oldReferredVariable = (InternalEObject)referredVariable;
+ referredVariable = (Variable)eResolveProxy(oldReferredVariable);
+ if (referredVariable != oldReferredVariable) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.VARIABLE_EXP__REFERRED_VARIABLE, oldReferredVariable, referredVariable));
+ }
+ }
+ return referredVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable basicGetReferredVariable() {
+ return referredVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferredVariable(Variable newReferredVariable) {
+ Variable oldReferredVariable = referredVariable;
+ referredVariable = newReferredVariable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.VARIABLE_EXP__REFERRED_VARIABLE, oldReferredVariable, referredVariable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE_EXP__REFERRED_VARIABLE:
+ if (resolve) return getReferredVariable();
+ return basicGetReferredVariable();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE_EXP__REFERRED_VARIABLE:
+ setReferredVariable((Variable)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE_EXP__REFERRED_VARIABLE:
+ setReferredVariable((Variable)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE_EXP__REFERRED_VARIABLE:
+ return referredVariable != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitVariableExp(this);
+ }
+
+} //VariableExpImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableImpl.java
new file mode 100644
index 000000000..e7733591c
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/impl/VariableImpl.java
@@ -0,0 +1,196 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.TypedElement;
+import org.eclipse.qvtd.doc.miniocl.Variable;
+import org.eclipse.qvtd.doc.miniocl.util.Visitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.impl.VariableImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class VariableImpl extends NamedElementImpl implements Variable {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.qvtd.doc.miniocl.Class type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return MiniOCLPackage.Literals.VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (org.eclipse.qvtd.doc.miniocl.Class)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, MiniOCLPackage.VARIABLE__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.qvtd.doc.miniocl.Class basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(org.eclipse.qvtd.doc.miniocl.Class newType) {
+ org.eclipse.qvtd.doc.miniocl.Class oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, MiniOCLPackage.VARIABLE__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE__TYPE:
+ setType((org.eclipse.qvtd.doc.miniocl.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE__TYPE:
+ setType((org.eclipse.qvtd.doc.miniocl.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case MiniOCLPackage.VARIABLE__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (derivedFeatureID) {
+ case MiniOCLPackage.VARIABLE__TYPE: return MiniOCLPackage.TYPED_ELEMENT__TYPE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (baseFeatureID) {
+ case MiniOCLPackage.TYPED_ELEMENT__TYPE: return MiniOCLPackage.VARIABLE__TYPE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull Visitor<R> visitor) {
+ return visitor.visitVariable(this);
+ }
+
+} //VariableImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/Env4CG.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/Env4CG.java
new file mode 100644
index 000000000..fe999c28a
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/Env4CG.java
@@ -0,0 +1,36 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Env4 CG</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage#getEnv4CG()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface Env4CG extends EObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new <%java.lang.UnsupportedOperationException%>(\"LookupEnvironment::hasFinalResult() has been created for CG purposes. Don\'t call this method\");'"
+ * @generated
+ */
+ boolean hasFinalResult();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" type="org.eclipse.qvtd.doc.miniocl.lookup.Executor"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new <%java.lang.UnsupportedOperationException%>(\"LookupEnvironment::getEvaluator() has been created for CG purposes. Don\'t call this method\");'"
+ * @generated
+ */
+ Executor getExecutor();
+
+} // Env4CG
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentFactory.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentFactory.java
new file mode 100644
index 000000000..ffbef16b0
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentFactory.java
@@ -0,0 +1,42 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage
+ * @generated
+ */
+public interface EnvironmentFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EnvironmentFactory eINSTANCE = org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Lookup Environment</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lookup Environment</em>'.
+ * @generated
+ */
+ LookupEnvironment createLookupEnvironment();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EnvironmentPackage getEnvironmentPackage();
+
+} //EnvironmentFactory
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentPackage.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentPackage.java
new file mode 100644
index 000000000..5f1efa042
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentPackage.java
@@ -0,0 +1,413 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/OCL/Import mocl='MiniOCL.ecore#/'"
+ * @generated
+ */
+public interface EnvironmentPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "lookup";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/qvtd/doc/MiniOCL/Lookup/1.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "lookup";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EnvironmentPackage eINSTANCE = org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.Env4CG <em>Env4 CG</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.Env4CG
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentPackageImpl#getEnv4CG()
+ * @generated
+ */
+ int ENV4_CG = 1;
+
+ /**
+ * The number of structural features of the '<em>Env4 CG</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENV4_CG_FEATURE_COUNT = 0;
+
+ /**
+ * The operation id for the '<em>Has Final Result</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENV4_CG___HAS_FINAL_RESULT = 0;
+
+ /**
+ * The operation id for the '<em>Get Executor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENV4_CG___GET_EXECUTOR = 1;
+
+ /**
+ * The number of operations of the '<em>Env4 CG</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENV4_CG_OPERATION_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.impl.LookupEnvironmentImpl <em>Lookup Environment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.LookupEnvironmentImpl
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentPackageImpl#getLookupEnvironment()
+ * @generated
+ */
+ int LOOKUP_ENVIRONMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Named Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT__NAMED_ELEMENTS = ENV4_CG_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parent Env</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT__PARENT_ENV = ENV4_CG_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Lookup Environment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT_FEATURE_COUNT = ENV4_CG_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Has Final Result</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT___HAS_FINAL_RESULT = ENV4_CG___HAS_FINAL_RESULT;
+
+ /**
+ * The operation id for the '<em>Get Executor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT___GET_EXECUTOR = ENV4_CG___GET_EXECUTOR;
+
+ /**
+ * The operation id for the '<em>Add Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT___ADD_ELEMENTS__COLLECTION = ENV4_CG_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Add Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT___ADD_ELEMENT__NAMEDELEMENT = ENV4_CG_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Lookup Environment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOKUP_ENVIRONMENT_OPERATION_COUNT = ENV4_CG_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.ocl.pivot.evaluation.Executor <em>Executor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.ocl.pivot.evaluation.Executor
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentPackageImpl#getExecutor()
+ * @generated
+ */
+ int EXECUTOR = 2;
+
+ /**
+ * The number of structural features of the '<em>Executor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTOR_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Executor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTOR_OPERATION_COUNT = 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment <em>Lookup Environment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lookup Environment</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment
+ * @generated
+ */
+ EClass getLookupEnvironment();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#getNamedElements <em>Named Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Named Elements</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#getNamedElements()
+ * @see #getLookupEnvironment()
+ * @generated
+ */
+ EReference getLookupEnvironment_NamedElements();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#getParentEnv <em>Parent Env</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parent Env</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#getParentEnv()
+ * @see #getLookupEnvironment()
+ * @generated
+ */
+ EReference getLookupEnvironment_ParentEnv();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#addElements(java.util.Collection) <em>Add Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Add Elements</em>' operation.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#addElements(java.util.Collection)
+ * @generated
+ */
+ EOperation getLookupEnvironment__AddElements__Collection();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#addElement(org.eclipse.qvtd.doc.miniocl.NamedElement) <em>Add Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Add Element</em>' operation.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#addElement(org.eclipse.qvtd.doc.miniocl.NamedElement)
+ * @generated
+ */
+ EOperation getLookupEnvironment__AddElement__NamedElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.doc.miniocl.lookup.Env4CG <em>Env4 CG</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Env4 CG</em>'.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.Env4CG
+ * @generated
+ */
+ EClass getEnv4CG();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.Env4CG#hasFinalResult() <em>Has Final Result</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Has Final Result</em>' operation.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.Env4CG#hasFinalResult()
+ * @generated
+ */
+ EOperation getEnv4CG__HasFinalResult();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.Env4CG#getExecutor() <em>Get Executor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Get Executor</em>' operation.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.Env4CG#getExecutor()
+ * @generated
+ */
+ EOperation getEnv4CG__GetExecutor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.ocl.pivot.evaluation.Executor <em>Executor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Executor</em>'.
+ * @see org.eclipse.ocl.pivot.evaluation.Executor
+ * @model instanceClass="org.eclipse.ocl.pivot.evaluation.Executor"
+ * @generated
+ */
+ EClass getExecutor();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ EnvironmentFactory getEnvironmentFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.impl.LookupEnvironmentImpl <em>Lookup Environment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.LookupEnvironmentImpl
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentPackageImpl#getLookupEnvironment()
+ * @generated
+ */
+ EClass LOOKUP_ENVIRONMENT = eINSTANCE.getLookupEnvironment();
+
+ /**
+ * The meta object literal for the '<em><b>Named Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOOKUP_ENVIRONMENT__NAMED_ELEMENTS = eINSTANCE.getLookupEnvironment_NamedElements();
+
+ /**
+ * The meta object literal for the '<em><b>Parent Env</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOOKUP_ENVIRONMENT__PARENT_ENV = eINSTANCE.getLookupEnvironment_ParentEnv();
+
+ /**
+ * The meta object literal for the '<em><b>Add Elements</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LOOKUP_ENVIRONMENT___ADD_ELEMENTS__COLLECTION = eINSTANCE.getLookupEnvironment__AddElements__Collection();
+
+ /**
+ * The meta object literal for the '<em><b>Add Element</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LOOKUP_ENVIRONMENT___ADD_ELEMENT__NAMEDELEMENT = eINSTANCE.getLookupEnvironment__AddElement__NamedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.doc.miniocl.lookup.Env4CG <em>Env4 CG</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.Env4CG
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentPackageImpl#getEnv4CG()
+ * @generated
+ */
+ EClass ENV4_CG = eINSTANCE.getEnv4CG();
+
+ /**
+ * The meta object literal for the '<em><b>Has Final Result</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation ENV4_CG___HAS_FINAL_RESULT = eINSTANCE.getEnv4CG__HasFinalResult();
+
+ /**
+ * The meta object literal for the '<em><b>Get Executor</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation ENV4_CG___GET_EXECUTOR = eINSTANCE.getEnv4CG__GetExecutor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.ocl.pivot.evaluation.Executor <em>Executor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.ocl.pivot.evaluation.Executor
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.impl.EnvironmentPackageImpl#getExecutor()
+ * @generated
+ */
+ EClass EXECUTOR = eINSTANCE.getExecutor();
+
+ }
+
+} //EnvironmentPackage
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentTables.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentTables.java
new file mode 100644
index 000000000..46cd33892
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/EnvironmentTables.java
@@ -0,0 +1,514 @@
+/*******************************************************************************
+ *************************************************************************
+ * This code is 100% auto-generated
+ * from:
+ * /org.eclipse.qvtd.doc.miniocl/model/Lookup.ecore
+ * using:
+ * /org.eclipse.qvtd.doc.miniocl/model/Lookup.genmodel
+ * org.eclipse.ocl.examples.codegen.oclinecore.OCLinEcoreTables
+ *
+ * Do not edit it.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.lookup;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.ParameterTypes;
+import org.eclipse.ocl.pivot.TemplateParameters;
+import org.eclipse.ocl.pivot.ids.TypeId;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorPackage;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorProperty;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorType;
+import org.eclipse.ocl.pivot.internal.library.ecore.EcoreLibraryOppositeProperty;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorFragment;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorOperation;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorProperty;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorPropertyWithImplementation;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorSpecializedType;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorStandardLibrary;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorType;
+import org.eclipse.ocl.pivot.internal.library.executor.ExecutorTypeParameter;
+import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibTables;
+import org.eclipse.ocl.pivot.utilities.TypeUtil;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLTables;
+
+/**
+ * EnvironmentTables provides the dispatch tables for the lookup for use by the OCL dispatcher.
+ *
+ * In order to ensure correct static initialization, a top level class element must be accessed
+ * before any nested class element. Therefore an access to PACKAGE.getClass() is recommended.
+ */
+@SuppressWarnings("nls")
+public class EnvironmentTables
+{
+ static {
+ Init.initStart();
+ }
+
+ /**
+ * The package descriptor for the package.
+ */
+ public static final @NonNull EcoreExecutorPackage PACKAGE = new EcoreExecutorPackage(EnvironmentPackage.eINSTANCE);
+
+ /**
+ * The library of all packages and types.
+ */
+ public static final @NonNull ExecutorStandardLibrary LIBRARY = OCLstdlibTables.LIBRARY;
+
+ /**
+ * Constants used by auto-generated code.
+ */
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId COL_PRIMid_OclAny = org.eclipse.ocl.pivot.ids.TypeId.COLLECTION.getSpecializedId(org.eclipse.ocl.pivot.ids.TypeId.OCL_ANY);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId COL_TMPLid_ = org.eclipse.ocl.pivot.ids.TypeId.COLLECTION.getSpecializedId(org.eclipse.ocl.pivot.ids.IdManager.getTemplateParameterId(0));
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0 = org.eclipse.ocl.pivot.ids.IdManager.getNsURIPackageId("http://www.eclipse.org/qvtd/doc/MiniOCL/1.0", null, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.eINSTANCE);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_Lookup_s_1_0 = org.eclipse.ocl.pivot.ids.IdManager.getNsURIPackageId("http://www.eclipse.org/qvtd/doc/MiniOCL/Lookup/1.0", null, org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage.eINSTANCE);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Executor = org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_Lookup_s_1_0.getClassId("Executor", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_LookupEnvironment = org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_Lookup_s_1_0.getClassId("LookupEnvironment", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_NamedElement = org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables.PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("NamedElement", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_LookupEnvironment = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables.CLSSid_LookupEnvironment);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_NamedElement = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables.CLSSid_NamedElement);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull PropertyId PROPid_namedElements = org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables.CLSSid_LookupEnvironment.getPropertyId("namedElements");
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull PropertyId PROPid_parentEnv = org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables.CLSSid_LookupEnvironment.getPropertyId("parentEnv");
+
+ /**
+ * The type parameters for templated types and operations.
+ */
+ public static class TypeParameters {
+ static {
+ Init.initStart();
+ EnvironmentTables.init();
+ }
+ public static final @NonNull ExecutorTypeParameter __LookupEnvironment__addElements_NE = new ExecutorTypeParameter(TypeId.T_1, "NE");
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::TypeParameters and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The type descriptors for each type.
+ */
+ public static class Types {
+ static {
+ Init.initStart();
+ TypeParameters.init();
+ }
+
+ public static final @NonNull EcoreExecutorType _Env4CG = new EcoreExecutorType(EnvironmentPackage.Literals.ENV4_CG, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _Executor = new EcoreExecutorType(EnvironmentPackage.Literals.EXECUTOR, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _LookupEnvironment = new EcoreExecutorType(EnvironmentPackage.Literals.LOOKUP_ENVIRONMENT, PACKAGE, 0);
+
+ private static final @NonNull EcoreExecutorType @NonNull [] types = {
+ _Env4CG,
+ _Executor,
+ _LookupEnvironment
+ };
+
+ /*
+ * Install the type descriptors in the package descriptor.
+ */
+ static {
+ PACKAGE.init(LIBRARY, types);
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::Types and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The fragment descriptors for the local elements of each type and its supertypes.
+ */
+ public static class Fragments {
+ static {
+ Init.initStart();
+ Types.init();
+ }
+
+ private static final @NonNull ExecutorFragment _Env4CG__Env4CG = new ExecutorFragment(Types._Env4CG, EnvironmentTables.Types._Env4CG);
+ private static final @NonNull ExecutorFragment _Env4CG__OclAny = new ExecutorFragment(Types._Env4CG, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Env4CG__OclElement = new ExecutorFragment(Types._Env4CG, OCLstdlibTables.Types._OclElement);
+
+ private static final @NonNull ExecutorFragment _Executor__Executor = new ExecutorFragment(Types._Executor, EnvironmentTables.Types._Executor);
+ private static final @NonNull ExecutorFragment _Executor__OclAny = new ExecutorFragment(Types._Executor, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _Executor__OclElement = new ExecutorFragment(Types._Executor, OCLstdlibTables.Types._OclElement);
+
+ private static final @NonNull ExecutorFragment _LookupEnvironment__Env4CG = new ExecutorFragment(Types._LookupEnvironment, EnvironmentTables.Types._Env4CG);
+ private static final @NonNull ExecutorFragment _LookupEnvironment__LookupEnvironment = new ExecutorFragment(Types._LookupEnvironment, EnvironmentTables.Types._LookupEnvironment);
+ private static final @NonNull ExecutorFragment _LookupEnvironment__OclAny = new ExecutorFragment(Types._LookupEnvironment, OCLstdlibTables.Types._OclAny);
+ private static final @NonNull ExecutorFragment _LookupEnvironment__OclElement = new ExecutorFragment(Types._LookupEnvironment, OCLstdlibTables.Types._OclElement);
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::Fragments and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The parameter lists shared by operations.
+ */
+ public static class Parameters {
+ static {
+ Init.initStart();
+ Fragments.init();
+ }
+
+ public static final @NonNull ParameterTypes _Collection__LookupEnvironment_addElements_NE__ = TypeUtil.createParameterTypes(new ExecutorSpecializedType("Collection", EnvironmentTables.TypeParameters.__LookupEnvironment__addElements_NE));
+ public static final @NonNull ParameterTypes _NamedElement = TypeUtil.createParameterTypes(MiniOCLTables.Types._NamedElement);
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::Parameters and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The operation descriptors for each operation of each type.
+ */
+ public static class Operations {
+ static {
+ Init.initStart();
+ Parameters.init();
+ }
+
+ public static final @NonNull ExecutorOperation _Env4CG__getExecutor = new ExecutorOperation("getExecutor", TypeUtil.EMPTY_PARAMETER_TYPES, Types._Env4CG,
+ 0, TemplateParameters.EMPTY_LIST, null);
+ public static final @NonNull ExecutorOperation _Env4CG__hasFinalResult = new ExecutorOperation("hasFinalResult", TypeUtil.EMPTY_PARAMETER_TYPES, Types._Env4CG,
+ 1, TemplateParameters.EMPTY_LIST, null);
+
+ public static final @NonNull ExecutorOperation _LookupEnvironment__addElement = new ExecutorOperation("addElement", Parameters._NamedElement, Types._LookupEnvironment,
+ 0, TemplateParameters.EMPTY_LIST, null);
+ public static final @NonNull ExecutorOperation _LookupEnvironment__addElements = new ExecutorOperation("addElements", Parameters._Collection__LookupEnvironment_addElements_NE__, Types._LookupEnvironment,
+ 1, TypeUtil.createTemplateParameters(TypeParameters.__LookupEnvironment__addElements_NE), null);
+
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::Operations and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The property descriptors for each property of each type.
+ */
+ public static class Properties {
+ static {
+ Init.initStart();
+ Operations.init();
+ }
+
+
+ public static final @NonNull ExecutorProperty _LookupEnvironment__namedElements = new EcoreExecutorProperty(EnvironmentPackage.Literals.LOOKUP_ENVIRONMENT__NAMED_ELEMENTS, Types._LookupEnvironment, 0);
+ public static final @NonNull ExecutorProperty _LookupEnvironment__parentEnv = new EcoreExecutorProperty(EnvironmentPackage.Literals.LOOKUP_ENVIRONMENT__PARENT_ENV, Types._LookupEnvironment, 1);
+ public static final @NonNull ExecutorProperty _LookupEnvironment__LookupEnvironment__parentEnv = new ExecutorPropertyWithImplementation("LookupEnvironment", Types._LookupEnvironment, 2, new EcoreLibraryOppositeProperty(EnvironmentPackage.Literals.LOOKUP_ENVIRONMENT__PARENT_ENV));
+ static {
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::Properties and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The fragments for all base types in depth order: OclAny first, OclSelf last.
+ */
+ public static class TypeFragments {
+ static {
+ Init.initStart();
+ Properties.init();
+ }
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Env4CG =
+ {
+ Fragments._Env4CG__OclAny /* 0 */,
+ Fragments._Env4CG__OclElement /* 1 */,
+ Fragments._Env4CG__Env4CG /* 2 */
+ };
+ private static final int @NonNull [] __Env4CG = { 1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _Executor =
+ {
+ Fragments._Executor__OclAny /* 0 */,
+ Fragments._Executor__OclElement /* 1 */,
+ Fragments._Executor__Executor /* 2 */
+ };
+ private static final int @NonNull [] __Executor = { 1,1,1 };
+
+ private static final @NonNull ExecutorFragment @NonNull [] _LookupEnvironment =
+ {
+ Fragments._LookupEnvironment__OclAny /* 0 */,
+ Fragments._LookupEnvironment__OclElement /* 1 */,
+ Fragments._LookupEnvironment__Env4CG /* 2 */,
+ Fragments._LookupEnvironment__LookupEnvironment /* 3 */
+ };
+ private static final int @NonNull [] __LookupEnvironment = { 1,1,1,1 };
+
+ /**
+ * Install the fragment descriptors in the class descriptors.
+ */
+ static {
+ Types._Env4CG.initFragments(_Env4CG, __Env4CG);
+ Types._Executor.initFragments(_Executor, __Executor);
+ Types._LookupEnvironment.initFragments(_LookupEnvironment, __LookupEnvironment);
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::TypeFragments and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The lists of local operations or local operation overrides for each fragment of each type.
+ */
+ public static class FragmentOperations {
+ static {
+ Init.initStart();
+ TypeFragments.init();
+ }
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Env4CG__Env4CG = {
+ EnvironmentTables.Operations._Env4CG__getExecutor /* getExecutor() */,
+ EnvironmentTables.Operations._Env4CG__hasFinalResult /* hasFinalResult() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Env4CG__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Env4CG__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+
+ private static final @NonNull ExecutorOperation @NonNull [] _Executor__Executor = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _Executor__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _Executor__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+
+ private static final @NonNull ExecutorOperation @NonNull [] _LookupEnvironment__LookupEnvironment = {
+ EnvironmentTables.Operations._LookupEnvironment__addElement /* addElement(NamedElement[?]) */,
+ EnvironmentTables.Operations._LookupEnvironment__addElements /* addElements(NE)(Collection(NE)) */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _LookupEnvironment__Env4CG = {
+ EnvironmentTables.Operations._Env4CG__getExecutor /* getExecutor() */,
+ EnvironmentTables.Operations._Env4CG__hasFinalResult /* hasFinalResult() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _LookupEnvironment__OclAny = {
+ OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
+ OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
+ OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
+ OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
+ OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
+ OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
+ OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
+ OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
+ OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ };
+ private static final @NonNull ExecutorOperation @NonNull [] _LookupEnvironment__OclElement = {
+ OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
+ OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
+ OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
+ OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
+ OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
+ OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+ };
+
+ /*
+ * Install the operation descriptors in the fragment descriptors.
+ */
+ static {
+ Fragments._Env4CG__Env4CG.initOperations(_Env4CG__Env4CG);
+ Fragments._Env4CG__OclAny.initOperations(_Env4CG__OclAny);
+ Fragments._Env4CG__OclElement.initOperations(_Env4CG__OclElement);
+
+ Fragments._Executor__Executor.initOperations(_Executor__Executor);
+ Fragments._Executor__OclAny.initOperations(_Executor__OclAny);
+ Fragments._Executor__OclElement.initOperations(_Executor__OclElement);
+
+ Fragments._LookupEnvironment__Env4CG.initOperations(_LookupEnvironment__Env4CG);
+ Fragments._LookupEnvironment__LookupEnvironment.initOperations(_LookupEnvironment__LookupEnvironment);
+ Fragments._LookupEnvironment__OclAny.initOperations(_LookupEnvironment__OclAny);
+ Fragments._LookupEnvironment__OclElement.initOperations(_LookupEnvironment__OclElement);
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::FragmentOperations and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The lists of local properties for the local fragment of each type.
+ */
+ public static class FragmentProperties {
+ static {
+ Init.initStart();
+ FragmentOperations.init();
+ }
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Env4CG = {};
+
+ private static final @NonNull ExecutorProperty @NonNull [] _Executor = {};
+
+ private static final @NonNull ExecutorProperty @NonNull [] _LookupEnvironment = {
+ EnvironmentTables.Properties._LookupEnvironment__namedElements,
+ EnvironmentTables.Properties._LookupEnvironment__parentEnv,
+ EnvironmentTables.Properties._LookupEnvironment__LookupEnvironment__parentEnv
+ };
+
+ /**
+ * Install the property descriptors in the fragment descriptors.
+ */
+ static {
+ Fragments._Env4CG__Env4CG.initProperties(_Env4CG);
+ Fragments._Executor__Executor.initProperties(_Executor);
+ Fragments._LookupEnvironment__LookupEnvironment.initProperties(_LookupEnvironment);
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::FragmentProperties and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The lists of enumeration literals for each enumeration.
+ */
+ public static class EnumerationLiterals {
+ static {
+ Init.initStart();
+ FragmentProperties.init();
+ }
+
+ /**
+ * Install the enumeration literals in the enumerations.
+ */
+ static {
+
+ Init.initEnd();
+ }
+
+ /**
+ * Force initialization of the fields of EnvironmentTables::EnumerationLiterals and all preceding sub-packages.
+ */
+ public static void init() {}
+ }
+
+ /**
+ * The multiple packages above avoid problems with the Java 65536 byte limit but introduce a difficulty in ensuring that
+ * static construction occurs in the disciplined order of the packages when construction may start in any of the packages.
+ * The problem is resolved by ensuring that the static construction of each package first initializes its immediate predecessor.
+ * On completion of predecessor initialization, the residual packages are initialized by starting an initialization in the last package.
+ * This class maintains a count so that the various predecessors can distinguish whether they are the starting point and so
+ * ensure that residual construction occurs just once after all predecessors.
+ */
+ private static class Init {
+ /**
+ * Counter of nested static constructions. On return to zero residual construction starts. -ve once residual construction started.
+ */
+ private static int initCount = 0;
+
+ /**
+ * Invoked at the start of a static construction to defer residual cobstruction until primary constructions complete.
+ */
+ private static void initStart() {
+ if (initCount >= 0) {
+ initCount++;
+ }
+ }
+
+ /**
+ * Invoked at the end of a static construction to activate residual cobstruction once primary constructions complete.
+ */
+ private static void initEnd() {
+ if (initCount > 0) {
+ if (--initCount == 0) {
+ initCount = -1;
+ EnumerationLiterals.init();
+ }
+ }
+ }
+ }
+
+ static {
+ Init.initEnd();
+ }
+
+ /*
+ * Force initialization of outer fields. Inner fields are lazily initialized.
+ */
+ public static void init() {}
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/LookupEnvironment.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/LookupEnvironment.java
new file mode 100644
index 000000000..925908362
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/LookupEnvironment.java
@@ -0,0 +1,88 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lookup Environment</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#getNamedElements <em>Named Elements</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#getParentEnv <em>Parent Env</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage#getLookupEnvironment()
+ * @model
+ * @generated
+ */
+public interface LookupEnvironment extends Env4CG {
+ /**
+ * Returns the value of the '<em><b>Named Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.doc.miniocl.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Named Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Named Elements</em>' reference list.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage#getLookupEnvironment_NamedElements()
+ * @model annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/Lookup/1.0!LookupEnvironment!namedElements'"
+ * @generated
+ */
+ EList<NamedElement> getNamedElements();
+
+ /**
+ * Returns the value of the '<em><b>Parent Env</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent Env</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parent Env</em>' reference.
+ * @see #setParentEnv(LookupEnvironment)
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage#getLookupEnvironment_ParentEnv()
+ * @model annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvtd/doc/MiniOCL/Lookup/1.0!LookupEnvironment!parentEnv'"
+ * @generated
+ */
+ LookupEnvironment getParentEnv();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment#getParentEnv <em>Parent Env</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent Env</em>' reference.
+ * @see #getParentEnv()
+ * @generated
+ */
+ void setParentEnv(LookupEnvironment value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model required="true" elementsType="org.eclipse.ocl.pivot.oclstdlib.Collection<NE>" elementsRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * LookupEnvironment{\n * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv\n * }\n \052/\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> IdResolver idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Property CTORid_namedElements = idResolver.getProperty(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.PROPid_namedElements);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Property CTORid_parentEnv = idResolver.getProperty(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.PROPid_parentEnv);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYP_lookup_c_c_LookupEnvironment_0 = idResolver.getClass(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.CLSSid_LookupEnvironment, null);\nfinal /*@Thrown\052/ org.eclipse.qvtd.doc.miniocl.lookup.@<%org.eclipse.jdt.annotation.NonNull%> LookupEnvironment symbol_0 = (<%org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment%>)TYP_lookup_c_c_LookupEnvironment_0.createInstance();\n@SuppressWarnings(\"null\")\nfinal /*@Thrown\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.qvtd.doc.miniocl.NamedElement%>> namedElements = this.getNamedElements();\nfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> CollectionValue BOXED_elements = idResolver.createCollectionOfAll(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.COL_TMPLid_, elements);\nfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> CollectionValue includingAll = <%org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation%>.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements);\nfinal <%java.util.List%><? extends <%java.lang.Object%>> UNBOXED_includingAll = includingAll.asEcoreObjects(idResolver, <%java.lang.Object%>.class);\nassert UNBOXED_includingAll != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_includingAll);\nfinal /*@Thrown\052/ org.eclipse.qvtd.doc.miniocl.lookup.@<%org.eclipse.jdt.annotation.Nullable%> LookupEnvironment parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'"
+ * @generated
+ */
+ <NE extends NamedElement> LookupEnvironment addElements(Collection<NE> elements);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * LookupEnvironment{\n * namedElements = namedElements->including(element), parentEnv = parentEnv\n * }\n \052/\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> IdResolver idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Property CTORid_namedElements = idResolver.getProperty(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.PROPid_namedElements);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Property CTORid_parentEnv = idResolver.getProperty(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.PROPid_parentEnv);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYP_lookup_c_c_LookupEnvironment_0 = idResolver.getClass(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.CLSSid_LookupEnvironment, null);\nfinal /*@Thrown\052/ org.eclipse.qvtd.doc.miniocl.lookup.@<%org.eclipse.jdt.annotation.NonNull%> LookupEnvironment symbol_0 = (<%org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment%>)TYP_lookup_c_c_LookupEnvironment_0.createInstance();\n@SuppressWarnings(\"null\")\nfinal /*@Thrown\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.qvtd.doc.miniocl.NamedElement%>> namedElements = this.getNamedElements();\nfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(<%org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue including = (<%org.eclipse.ocl.pivot.values.OrderedSetValue%>)<%org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation%>.INSTANCE.evaluate(BOXED_namedElements, element);\nfinal <%java.util.List%><<%org.eclipse.qvtd.doc.miniocl.NamedElement%>> UNBOXED_including = including.asEcoreObjects(idResolver, <%org.eclipse.qvtd.doc.miniocl.NamedElement%>.class);\nassert UNBOXED_including != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_including);\nfinal /*@Thrown\052/ org.eclipse.qvtd.doc.miniocl.lookup.@<%org.eclipse.jdt.annotation.Nullable%> LookupEnvironment parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'"
+ * @generated
+ */
+ LookupEnvironment addElement(NamedElement element);
+
+} // LookupEnvironment
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentFactoryImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentFactoryImpl.java
new file mode 100644
index 000000000..e6337abda
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentFactoryImpl.java
@@ -0,0 +1,94 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentFactory;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage;
+import org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnvironmentFactoryImpl extends EFactoryImpl implements EnvironmentFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EnvironmentFactory init() {
+ try {
+ EnvironmentFactory theEnvironmentFactory = (EnvironmentFactory)EPackage.Registry.INSTANCE.getEFactory(EnvironmentPackage.eNS_URI);
+ if (theEnvironmentFactory != null) {
+ return theEnvironmentFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EnvironmentFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT: return createLookupEnvironment();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LookupEnvironment createLookupEnvironment() {
+ LookupEnvironmentImpl lookupEnvironment = new LookupEnvironmentImpl();
+ return lookupEnvironment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentPackage getEnvironmentPackage() {
+ return (EnvironmentPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EnvironmentPackage getPackage() {
+ return EnvironmentPackage.eINSTANCE;
+ }
+
+} //EnvironmentFactoryImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentPackageImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentPackageImpl.java
new file mode 100644
index 000000000..6d4c1e5e3
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/EnvironmentPackageImpl.java
@@ -0,0 +1,336 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.ETypeParameter;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibPackage;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.lookup.Env4CG;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentFactory;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage;
+import org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lookupEnvironmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass env4CGEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass executorEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EnvironmentPackageImpl() {
+ super(eNS_URI, EnvironmentFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link EnvironmentPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static EnvironmentPackage init() {
+ if (isInited) return (EnvironmentPackage)EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(ePackage instanceof EnvironmentPackageImpl ? ePackage : new EnvironmentPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ MiniOCLPackage.eINSTANCE.eClass();
+ OCLstdlibPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theEnvironmentPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEnvironmentPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEnvironmentPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EnvironmentPackage.eNS_URI, theEnvironmentPackage);
+ return theEnvironmentPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLookupEnvironment() {
+ return lookupEnvironmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLookupEnvironment_NamedElements() {
+ return (EReference)lookupEnvironmentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLookupEnvironment_ParentEnv() {
+ return (EReference)lookupEnvironmentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLookupEnvironment__AddElements__Collection() {
+ return lookupEnvironmentEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLookupEnvironment__AddElement__NamedElement() {
+ return lookupEnvironmentEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnv4CG() {
+ return env4CGEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getEnv4CG__HasFinalResult() {
+ return env4CGEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getEnv4CG__GetExecutor() {
+ return env4CGEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExecutor() {
+ return executorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentFactory getEnvironmentFactory() {
+ return (EnvironmentFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ lookupEnvironmentEClass = createEClass(LOOKUP_ENVIRONMENT);
+ createEReference(lookupEnvironmentEClass, LOOKUP_ENVIRONMENT__NAMED_ELEMENTS);
+ createEReference(lookupEnvironmentEClass, LOOKUP_ENVIRONMENT__PARENT_ENV);
+ createEOperation(lookupEnvironmentEClass, LOOKUP_ENVIRONMENT___ADD_ELEMENTS__COLLECTION);
+ createEOperation(lookupEnvironmentEClass, LOOKUP_ENVIRONMENT___ADD_ELEMENT__NAMEDELEMENT);
+
+ env4CGEClass = createEClass(ENV4_CG);
+ createEOperation(env4CGEClass, ENV4_CG___HAS_FINAL_RESULT);
+ createEOperation(env4CGEClass, ENV4_CG___GET_EXECUTOR);
+
+ executorEClass = createEClass(EXECUTOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ MiniOCLPackage theMiniOCLPackage = (MiniOCLPackage)EPackage.Registry.INSTANCE.getEPackage(MiniOCLPackage.eNS_URI);
+ OCLstdlibPackage theOCLstdlibPackage = (OCLstdlibPackage)EPackage.Registry.INSTANCE.getEPackage(OCLstdlibPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ lookupEnvironmentEClass.getESuperTypes().add(this.getEnv4CG());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(lookupEnvironmentEClass, LookupEnvironment.class, "LookupEnvironment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLookupEnvironment_NamedElements(), theMiniOCLPackage.getNamedElement(), null, "namedElements", null, 0, -1, LookupEnvironment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLookupEnvironment_ParentEnv(), this.getLookupEnvironment(), null, "parentEnv", null, 0, 1, LookupEnvironment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ EOperation op = initEOperation(getLookupEnvironment__AddElements__Collection(), this.getLookupEnvironment(), "addElements", 1, 1, IS_UNIQUE, IS_ORDERED);
+ ETypeParameter t1 = addETypeParameter(op, "NE");
+ EGenericType g1 = createEGenericType(theMiniOCLPackage.getNamedElement());
+ t1.getEBounds().add(g1);
+ g1 = createEGenericType(theOCLstdlibPackage.getCollection());
+ EGenericType g2 = createEGenericType(t1);
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "elements", 1, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getLookupEnvironment__AddElement__NamedElement(), this.getLookupEnvironment(), "addElement", 1, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theMiniOCLPackage.getNamedElement(), "element", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(env4CGEClass, Env4CG.class, "Env4CG", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEOperation(getEnv4CG__HasFinalResult(), ecorePackage.getEBoolean(), "hasFinalResult", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEOperation(getEnv4CG__GetExecutor(), this.getExecutor(), "getExecutor", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(executorEClass, Executor.class, "Executor", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/OCL/Import
+ createImportAnnotations();
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/OCL/Import</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createImportAnnotations() {
+ String source = "http://www.eclipse.org/OCL/Import";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "mocl", "MiniOCL.ecore#/"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ });
+ }
+
+} //EnvironmentPackageImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/LookupEnvironmentImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/LookupEnvironmentImpl.java
new file mode 100644
index 000000000..d59db3268
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/impl/LookupEnvironmentImpl.java
@@ -0,0 +1,304 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
+import org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation;
+import org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation;
+import org.eclipse.ocl.pivot.values.OrderedSetValue;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentTables;
+import org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lookup Environment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.lookup.impl.LookupEnvironmentImpl#getNamedElements <em>Named Elements</em>}</li>
+ * <li>{@link org.eclipse.qvtd.doc.miniocl.lookup.impl.LookupEnvironmentImpl#getParentEnv <em>Parent Env</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LookupEnvironmentImpl extends MinimalEObjectImpl.Container implements LookupEnvironment {
+ /**
+ * The cached value of the '{@link #getNamedElements() <em>Named Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamedElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> namedElements;
+
+ /**
+ * The cached value of the '{@link #getParentEnv() <em>Parent Env</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentEnv()
+ * @generated
+ * @ordered
+ */
+ protected LookupEnvironment parentEnv;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LookupEnvironmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EnvironmentPackage.Literals.LOOKUP_ENVIRONMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getNamedElements() {
+ if (namedElements == null) {
+ namedElements = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, EnvironmentPackage.LOOKUP_ENVIRONMENT__NAMED_ELEMENTS);
+ }
+ return namedElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LookupEnvironment getParentEnv() {
+ if (parentEnv != null && parentEnv.eIsProxy()) {
+ InternalEObject oldParentEnv = (InternalEObject)parentEnv;
+ parentEnv = (LookupEnvironment)eResolveProxy(oldParentEnv);
+ if (parentEnv != oldParentEnv) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EnvironmentPackage.LOOKUP_ENVIRONMENT__PARENT_ENV, oldParentEnv, parentEnv));
+ }
+ }
+ return parentEnv;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LookupEnvironment basicGetParentEnv() {
+ return parentEnv;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentEnv(LookupEnvironment newParentEnv) {
+ LookupEnvironment oldParentEnv = parentEnv;
+ parentEnv = newParentEnv;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EnvironmentPackage.LOOKUP_ENVIRONMENT__PARENT_ENV, oldParentEnv, parentEnv));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <NE extends NamedElement> LookupEnvironment addElements(final Collection<NE> elements) {
+ /**
+ *
+ * LookupEnvironment{
+ * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv
+ * }
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@NonNull IdResolver idResolver = executor.getIdResolver();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Property CTORid_namedElements = idResolver.getProperty(EnvironmentTables.PROPid_namedElements);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Property CTORid_parentEnv = idResolver.getProperty(EnvironmentTables.PROPid_parentEnv);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_lookup_c_c_LookupEnvironment_0 = idResolver.getClass(EnvironmentTables.CLSSid_LookupEnvironment, null);
+ final /*@Thrown*/ org.eclipse.qvtd.doc.miniocl.lookup.@NonNull LookupEnvironment symbol_0 = (LookupEnvironment)TYP_lookup_c_c_LookupEnvironment_0.createInstance();
+ @SuppressWarnings("null")
+ final /*@Thrown*/ java.util.@NonNull List<NamedElement> namedElements = this.getNamedElements();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_CLSSid_NamedElement, namedElements);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull CollectionValue BOXED_elements = idResolver.createCollectionOfAll(EnvironmentTables.COL_TMPLid_, elements);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull CollectionValue includingAll = CollectionIncludingAllOperation.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements);
+ final List<? extends Object> UNBOXED_includingAll = includingAll.asEcoreObjects(idResolver, Object.class);
+ assert UNBOXED_includingAll != null;
+ CTORid_namedElements.initValue(symbol_0, UNBOXED_includingAll);
+ final /*@Thrown*/ org.eclipse.qvtd.doc.miniocl.lookup.@Nullable LookupEnvironment parentEnv = this.getParentEnv();
+ CTORid_parentEnv.initValue(symbol_0, parentEnv);
+ return symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LookupEnvironment addElement(final NamedElement element) {
+ /**
+ *
+ * LookupEnvironment{
+ * namedElements = namedElements->including(element), parentEnv = parentEnv
+ * }
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@NonNull IdResolver idResolver = executor.getIdResolver();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Property CTORid_namedElements = idResolver.getProperty(EnvironmentTables.PROPid_namedElements);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Property CTORid_parentEnv = idResolver.getProperty(EnvironmentTables.PROPid_parentEnv);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_lookup_c_c_LookupEnvironment_0 = idResolver.getClass(EnvironmentTables.CLSSid_LookupEnvironment, null);
+ final /*@Thrown*/ org.eclipse.qvtd.doc.miniocl.lookup.@NonNull LookupEnvironment symbol_0 = (LookupEnvironment)TYP_lookup_c_c_LookupEnvironment_0.createInstance();
+ @SuppressWarnings("null")
+ final /*@Thrown*/ java.util.@NonNull List<NamedElement> namedElements = this.getNamedElements();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_CLSSid_NamedElement, namedElements);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue including = (OrderedSetValue)CollectionIncludingOperation.INSTANCE.evaluate(BOXED_namedElements, element);
+ final List<NamedElement> UNBOXED_including = including.asEcoreObjects(idResolver, NamedElement.class);
+ assert UNBOXED_including != null;
+ CTORid_namedElements.initValue(symbol_0, UNBOXED_including);
+ final /*@Thrown*/ org.eclipse.qvtd.doc.miniocl.lookup.@Nullable LookupEnvironment parentEnv = this.getParentEnv();
+ CTORid_parentEnv.initValue(symbol_0, parentEnv);
+ return symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean hasFinalResult() {
+ throw new UnsupportedOperationException("LookupEnvironment::hasFinalResult() has been created for CG purposes. Don't call this method");
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Executor getExecutor() {
+ throw new UnsupportedOperationException("LookupEnvironment::getEvaluator() has been created for CG purposes. Don't call this method");
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__NAMED_ELEMENTS:
+ return getNamedElements();
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__PARENT_ENV:
+ if (resolve) return getParentEnv();
+ return basicGetParentEnv();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__NAMED_ELEMENTS:
+ getNamedElements().clear();
+ getNamedElements().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__PARENT_ENV:
+ setParentEnv((LookupEnvironment)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__NAMED_ELEMENTS:
+ getNamedElements().clear();
+ return;
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__PARENT_ENV:
+ setParentEnv((LookupEnvironment)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__NAMED_ELEMENTS:
+ return namedElements != null && !namedElements.isEmpty();
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT__PARENT_ENV:
+ return parentEnv != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings({"rawtypes", "unchecked" })
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT___ADD_ELEMENTS__COLLECTION:
+ return addElements((Collection)arguments.get(0));
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT___ADD_ELEMENT__NAMEDELEMENT:
+ return addElement((NamedElement)arguments.get(0));
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT___HAS_FINAL_RESULT:
+ return hasFinalResult();
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT___GET_EXECUTOR:
+ return getExecutor();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+
+} //LookupEnvironmentImpl
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/AbstractMiniOCLLookupFilter.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/AbstractMiniOCLLookupFilter.java
new file mode 100644
index 000000000..10a258095
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/AbstractMiniOCLLookupFilter.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * template: org.eclipse.ocl.examples.build.xtend.GenerateAutoLookupInfrastructureXtend
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+
+/**
+ *
+ */
+public abstract class AbstractMiniOCLLookupFilter<C extends NamedElement> implements MiniOCLLookupFilter {
+
+ @NonNull private Class<C> _class;
+
+ public AbstractMiniOCLLookupFilter(@NonNull Class<C> _class) {
+ this._class = _class;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean matches(@NonNull NamedElement namedElement) {
+ return _class.isInstance(namedElement) && _matches((C)namedElement);
+ }
+
+ abstract protected Boolean _matches(@NonNull C element);
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentAdapterFactory.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentAdapterFactory.java
new file mode 100644
index 000000000..f82ab772a
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentAdapterFactory.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+import org.eclipse.qvtd.doc.miniocl.lookup.Env4CG;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage;
+import org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage
+ * @generated
+ */
+public class EnvironmentAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EnvironmentPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = EnvironmentPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnvironmentSwitch<@Nullable Adapter> modelSwitch =
+ new EnvironmentSwitch<@Nullable Adapter>() {
+ @Override
+ public Adapter caseLookupEnvironment(LookupEnvironment object) {
+ return createLookupEnvironmentAdapter();
+ }
+ @Override
+ public Adapter caseEnv4CG(Env4CG object) {
+ return createEnv4CGAdapter();
+ }
+ @Override
+ public Adapter caseExecutor(Executor object) {
+ return createExecutorAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment <em>Lookup Environment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment
+ * @generated
+ */
+ public Adapter createLookupEnvironmentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.lookup.Env4CG <em>Env4 CG</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.Env4CG
+ * @generated
+ */
+ public Adapter createEnv4CGAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.pivot.evaluation.Executor <em>Executor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.pivot.evaluation.Executor
+ * @generated
+ */
+ public Adapter createExecutorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //EnvironmentAdapterFactory
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentSwitch.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentSwitch.java
new file mode 100644
index 000000000..e12e3d475
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/EnvironmentSwitch.java
@@ -0,0 +1,155 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+import org.eclipse.qvtd.doc.miniocl.lookup.Env4CG;
+import org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage;
+import org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.lookup.EnvironmentPackage
+ * @generated
+ */
+public class EnvironmentSwitch<@Nullable T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EnvironmentPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentSwitch() {
+ if (modelPackage == null) {
+ modelPackage = EnvironmentPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case EnvironmentPackage.LOOKUP_ENVIRONMENT: {
+ LookupEnvironment lookupEnvironment = (LookupEnvironment)theEObject;
+ T result = caseLookupEnvironment(lookupEnvironment);
+ if (result == null) result = caseEnv4CG(lookupEnvironment);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EnvironmentPackage.ENV4_CG: {
+ Env4CG env4CG = (Env4CG)theEObject;
+ T result = caseEnv4CG(env4CG);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EnvironmentPackage.EXECUTOR: {
+ Executor executor = (Executor)theEObject;
+ T result = caseExecutor(executor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lookup Environment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lookup Environment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLookupEnvironment(LookupEnvironment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Env4 CG</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Env4 CG</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnv4CG(Env4CG object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Executor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Executor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExecutor(Executor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //EnvironmentSwitch
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupFilter.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupFilter.java
new file mode 100644
index 000000000..139812591
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupFilter.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * template: org.eclipse.ocl.examples.build.xtend.GenerateAutoLookupInfrastructureXtend
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+
+/**
+ *
+ */
+public interface MiniOCLLookupFilter {
+
+ boolean matches(@NonNull NamedElement namedElement);
+
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResult.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResult.java
new file mode 100644
index 000000000..7c3e8cfb8
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResult.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * template: org.eclipse.ocl.examples.build.xtend.GenerateAutoLookupInfrastructureXtend
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
+/**
+ * The lookup result returned by the name lookup solver
+ */
+public interface MiniOCLLookupResult<NE> {
+
+ @Nullable
+ NE getSingleResult();
+
+ @NonNull
+ List<NE> getAllResults();
+
+ int size();
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResultImpl.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResultImpl.java
new file mode 100644
index 000000000..84ef4587b
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupResultImpl.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * template: org.eclipse.ocl.examples.build.xtend.GenerateAutoLookupInfrastructureXtend
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
+public class MiniOCLLookupResultImpl<NE> implements MiniOCLLookupResult<NE> {
+
+ private @NonNull List<NE> results = new ArrayList<NE>();
+
+ public MiniOCLLookupResultImpl(List<NE> results){
+ this.results.addAll(results);
+ }
+
+ @Override
+ public @NonNull List<NE> getAllResults() {
+ return Collections.unmodifiableList(results);
+ }
+
+ @Override
+ public @Nullable NE getSingleResult() {
+ return results.size() == 0 ? null : results.get(0);
+ }
+
+ @Override
+ public int size() {
+ return results.size();
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupSolver.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupSolver.java
new file mode 100644
index 000000000..209e41842
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLLookupSolver.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * template: org.eclipse.ocl.examples.build.xtend.GenerateAutoLookupInfrastructureXtend
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLExportedOperationLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLExportedPropertyLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLQualifiedClassLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLQualifiedOperationLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLQualifiedPackageLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLQualifiedPropertyLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLUnqualifiedClassLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLUnqualifiedOperationLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLUnqualifiedPackageLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLUnqualifiedPropertyLookupVisitor;
+import org.eclipse.qvtd.doc.miniocl.util.MiniOCLUnqualifiedVariableLookupVisitor;
+
+
+public class MiniOCLLookupSolver {
+
+ protected final @NonNull Executor executor;
+
+ public MiniOCLLookupSolver (@NonNull Executor executor) {
+ this.executor = executor;
+ }
+
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Operation> _lookupExportedOperation(org.eclipse.qvtd.doc.miniocl.Class context, java.lang.Object importer, java.lang.String oName, java.util.List<org.eclipse.qvtd.doc.miniocl.OCLExpression> args) {
+ OperationFilter filter = new OperationFilter(executor, args);
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.OPERATION,oName,filter);
+ MiniOCLExportedOperationLookupVisitor _lookupVisitor = new MiniOCLExportedOperationLookupVisitor(_lookupEnv, importer);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Operation>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Operation.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Property> _lookupExportedProperty(org.eclipse.qvtd.doc.miniocl.Class context, java.lang.Object importer, java.lang.String pName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.PROPERTY,pName);
+ MiniOCLExportedPropertyLookupVisitor _lookupVisitor = new MiniOCLExportedPropertyLookupVisitor(_lookupEnv, importer);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Property>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Property.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Operation> _lookupQualifiedOperation(org.eclipse.qvtd.doc.miniocl.Class context, java.lang.String oName, java.util.List<org.eclipse.qvtd.doc.miniocl.OCLExpression> args) {
+ OperationFilter filter = new OperationFilter(executor, args);
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.OPERATION,oName,filter);
+ MiniOCLQualifiedOperationLookupVisitor _lookupVisitor = new MiniOCLQualifiedOperationLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Operation>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Operation.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Property> _lookupQualifiedProperty(org.eclipse.qvtd.doc.miniocl.Class context, java.lang.String pName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.PROPERTY,pName);
+ MiniOCLQualifiedPropertyLookupVisitor _lookupVisitor = new MiniOCLQualifiedPropertyLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Property>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Property.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Class> _lookupQualifiedClass(org.eclipse.qvtd.doc.miniocl.Package context, java.lang.String cName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.CLASS,cName);
+ MiniOCLQualifiedClassLookupVisitor _lookupVisitor = new MiniOCLQualifiedClassLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Class>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Class.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Package> _lookupQualifiedPackage(org.eclipse.qvtd.doc.miniocl.Package context, java.lang.String pName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.PACKAGE,pName);
+ MiniOCLQualifiedPackageLookupVisitor _lookupVisitor = new MiniOCLQualifiedPackageLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Package>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Package.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Class> _lookupUnqualifiedClass(org.eclipse.qvtd.doc.miniocl.util.Visitable context, java.lang.String cName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.CLASS,cName);
+ MiniOCLUnqualifiedClassLookupVisitor _lookupVisitor = new MiniOCLUnqualifiedClassLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Class>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Class.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Operation> _lookupUnqualifiedOperation(org.eclipse.qvtd.doc.miniocl.util.Visitable context, java.lang.String oName, java.util.List<org.eclipse.qvtd.doc.miniocl.OCLExpression> args) {
+ OperationFilter filter = new OperationFilter(executor, args);
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.OPERATION,oName,filter);
+ MiniOCLUnqualifiedOperationLookupVisitor _lookupVisitor = new MiniOCLUnqualifiedOperationLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Operation>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Operation.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Package> _lookupUnqualifiedPackage(org.eclipse.qvtd.doc.miniocl.util.Visitable context, java.lang.String pName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.PACKAGE,pName);
+ MiniOCLUnqualifiedPackageLookupVisitor _lookupVisitor = new MiniOCLUnqualifiedPackageLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Package>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Package.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Property> _lookupUnqualifiedProperty(org.eclipse.qvtd.doc.miniocl.util.Visitable context, java.lang.String pName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.PROPERTY,pName);
+ MiniOCLUnqualifiedPropertyLookupVisitor _lookupVisitor = new MiniOCLUnqualifiedPropertyLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Property>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Property.class));
+ }
+
+ public MiniOCLLookupResult<org.eclipse.qvtd.doc.miniocl.Variable> _lookupUnqualifiedVariable(org.eclipse.qvtd.doc.miniocl.util.Visitable context, java.lang.String vName) {
+ MiniOCLSingleResultLookupEnvironment _lookupEnv = new MiniOCLSingleResultLookupEnvironment(executor, org.eclipse.qvtd.doc.miniocl.MiniOCLPackage.Literals.VARIABLE,vName);
+ MiniOCLUnqualifiedVariableLookupVisitor _lookupVisitor = new MiniOCLUnqualifiedVariableLookupVisitor(_lookupEnv);
+ context.accept(_lookupVisitor);
+ return new MiniOCLLookupResultImpl<org.eclipse.qvtd.doc.miniocl.Variable>
+ (_lookupEnv.getNamedElementsByKind(org.eclipse.qvtd.doc.miniocl.Variable.class));
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLSingleResultLookupEnvironment.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLSingleResultLookupEnvironment.java
new file mode 100644
index 000000000..103e2d034
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/MiniOCLSingleResultLookupEnvironment.java
@@ -0,0 +1,102 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * template: org.eclipse.ocl.examples.build.xtend.GenerateAutoLookupInfrastructureXtend
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+import org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment;
+import org.eclipse.qvtd.doc.miniocl.lookup.impl.LookupEnvironmentImpl;
+
+public class MiniOCLSingleResultLookupEnvironment extends LookupEnvironmentImpl {
+
+ private @NonNull Executor executor;
+ private @NonNull String name;
+ private @NonNull EClass typeFilter;
+ private @Nullable MiniOCLLookupFilter expFilter;
+
+ public MiniOCLSingleResultLookupEnvironment(@NonNull Executor executor, @NonNull EClass typeFilter, @NonNull String name, @Nullable MiniOCLLookupFilter expFilter) {
+ this.executor = executor;
+ this.name = name;
+ this.typeFilter = typeFilter;
+ this.expFilter = expFilter;
+ }
+
+ public MiniOCLSingleResultLookupEnvironment(@NonNull Executor executor, @NonNull EClass typeFilter, @NonNull String name) {
+ this(executor,typeFilter, name, null);
+ }
+
+ @Override
+ @NonNull
+ public Executor getExecutor() {
+ return executor;
+ }
+
+ @Override
+ public boolean hasFinalResult() {
+ for (NamedElement element : getNamedElements()) {
+ if (name.equals(element.getName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ @NonNull
+ public LookupEnvironment addElement(@Nullable NamedElement namedElement) {
+ if (namedElement != null) {
+ if (name.equals(namedElement.getName())) {
+ if (typeFilter.isInstance(namedElement)) {
+ MiniOCLLookupFilter expFilter2 = expFilter;
+ if (expFilter2 == null || expFilter2.matches(namedElement)) {
+ List<NamedElement> elements = getNamedElements();
+ if (!elements.contains(namedElement)) { // FIXME use a set ?
+ elements.add(namedElement);
+ }
+ }
+ }
+ }
+ }
+ return this;
+ }
+
+ @Override
+ @NonNull
+ public <NE extends NamedElement > LookupEnvironment addElements(
+ @Nullable Collection<NE> namedElements) {
+
+ if (namedElements != null) {
+ for (NamedElement namedElement : namedElements) {
+ addElement(namedElement);
+ }
+ }
+ return this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public <NE extends NamedElement> List<NE> getNamedElementsByKind(Class<NE> class_) {
+ List<NE> result = new ArrayList<NE>();
+ for (NamedElement namedElement : getNamedElements()) {
+ if (class_.isAssignableFrom(namedElement.getClass())) {
+ result.add((NE)namedElement);
+ }
+ }
+ return result;
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/OperationFilter.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/OperationFilter.java
new file mode 100644
index 000000000..82ea04954
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/lookup/util/OperationFilter.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * «codeGenHelper.getCopyright(' * ')»
+ *
+ * This code is 100% auto-generated
+ * using: org.eclipse.ocl.examples.autogen.lookup.LookupFilterGenerator
+ *
+ * Do not edit it.
+ ********************************************************************************/
+
+package org.eclipse.qvtd.doc.miniocl.lookup.util;
+
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.evaluation.Executor;
+import org.eclipse.ocl.pivot.ids.IdManager;
+import org.eclipse.ocl.pivot.ids.TypeId;
+import org.eclipse.ocl.pivot.library.collection.CollectionSizeOperation;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+import org.eclipse.qvtd.doc.miniocl.Operation;
+import org.eclipse.qvtd.doc.miniocl.Parameter;
+
+public class OperationFilter
+ extends AbstractMiniOCLLookupFilter<Operation>
+{
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0 = IdManager.getNsURIPackageId("http://www.eclipse.org/qvtd/doc/MiniOCL/1.0", null, MiniOCLPackage.eINSTANCE);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull RootPackageId PACKid_java_c_s_s_org_eclipse_qvtd_doc_miniocl_lookup_util = IdManager.getRootPackageId("java://org.eclipse.qvtd.doc.miniocl.lookup.util");
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull RootPackageId PACKid_org_eclipse_ocl_pivot_evaluation = IdManager.getRootPackageId("org.eclipse.ocl.pivot.evaluation");
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull RootPackageId PACKid_org_eclipse_ocl_pivot_ids = IdManager.getRootPackageId("org.eclipse.ocl.pivot.ids");
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Executor = PACKid_org_eclipse_ocl_pivot_evaluation.getClassId("Executor", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_IdResolver = PACKid_org_eclipse_ocl_pivot_ids.getClassId("IdResolver", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_OCLExpression = PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("OCLExpression", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Operation = PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Operation", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_OperationFilter = PACKid_java_c_s_s_org_eclipse_qvtd_doc_miniocl_lookup_util.getClassId("OperationFilter", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Parameter = PACKid_http_c_s_s_www_eclipse_org_s_qvtd_s_doc_s_MiniOCL_s_1_0.getClassId("Parameter", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_OCLExpression = TypeId.ORDERED_SET.getSpecializedId(CLSSid_OCLExpression);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_Parameter = TypeId.ORDERED_SET.getSpecializedId(CLSSid_Parameter);
+
+ protected final /*@Thrown*/ org.eclipse.ocl.pivot.evaluation.@org.eclipse.jdt.annotation.NonNull Executor executor;
+ protected final /*@Thrown*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver;
+ protected final /*@Thrown*/ List<OCLExpression> args;
+
+ public OperationFilter(@NonNull Executor executor,final /*@Thrown*/ List<OCLExpression> args) {
+ super(Operation.class);
+ this.args = args;
+ this.executor = executor;
+ this.idResolver = executor.getIdResolver();
+ }
+
+ /**
+ * _'org.eclipse.qvtd.doc.miniocl.lookup.util'::OperationFilter::_matches(element : miniocl::Operation[1]) : Boolean[1]
+ *
+ * _'null' : Boolean[1]
+ */
+ public /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull Boolean _matches(final /*@NonInvalid*/ org.eclipse.qvtd.doc.miniocl.@org.eclipse.jdt.annotation.NonNull Operation element) {
+ final /*@Thrown*/ List<OCLExpression> args = (List<OCLExpression>)this.args;
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_args = idResolver.createOrderedSetOfAll(ORD_CLSSid_OCLExpression, args);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull IntegerValue size = CollectionSizeOperation.INSTANCE.evaluate(BOXED_args);
+ @SuppressWarnings("null")
+ final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<Parameter> ownedParameters = element.getOwnedParameters();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedParameters = idResolver.createOrderedSetOfAll(ORD_CLSSid_Parameter, ownedParameters);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull IntegerValue size_0 = CollectionSizeOperation.INSTANCE.evaluate(BOXED_ownedParameters);
+ final /*@Thrown*/ boolean eq = size.equals(size_0);
+ return eq;
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractDelegatingVisitor.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractDelegatingVisitor.java
new file mode 100644
index 000000000..8af54bded
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractDelegatingVisitor.java
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+
+/**
+ * An AbstractDelegatingVisitor delegates all visits.
+ */
+public abstract class AbstractDelegatingVisitor<R, C, @NonNull D extends Visitor<R>>
+ extends AbstractVisitor<R, C>
+ implements Visitor<R>
+{
+ protected final @NonNull D delegate;
+
+ protected AbstractDelegatingVisitor(@NonNull D delegate, C context) {
+ super(context);
+ // assert delegate != null : "cannot decorate a null visitor"; //$NON-NLS-1$
+ this.delegate = delegate;
+ // delegate.setUndecoratedVisitor(this);
+ }
+
+ /**
+ * Delegates to my decorated visitor.
+ */
+ // public @NonNull DecorableVisitor<R> createNestedVisitor() {
+ // return delegate.createNestedVisitor();
+ // }
+
+ /**
+ * Obtains the visitor that I decorate.
+ *
+ * @return my decorated visitor
+ */
+ protected final @NonNull D getDelegate() {
+ return delegate;
+ }
+
+ @Override
+ public R visiting(org.eclipse.qvtd.doc.miniocl.util.@NonNull Visitable visitable) {
+ return delegate.visiting(visitable);
+ }
+
+ @Override
+ public R visitCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull CallExp object) {
+ return delegate.visitCallExp(object);
+ }
+
+ @Override
+ public R visitClass(org.eclipse.qvtd.doc.miniocl.@NonNull Class object) {
+ return delegate.visitClass(object);
+ }
+
+ @Override
+ public R visitConstraint(org.eclipse.qvtd.doc.miniocl.@NonNull Constraint object) {
+ return delegate.visitConstraint(object);
+ }
+
+ @Override
+ public R visitElement(org.eclipse.qvtd.doc.miniocl.@NonNull Element object) {
+ return delegate.visitElement(object);
+ }
+
+ @Override
+ public R visitExpressionInOCL(org.eclipse.qvtd.doc.miniocl.@NonNull ExpressionInOCL object) {
+ return delegate.visitExpressionInOCL(object);
+ }
+
+ @Override
+ public R visitFeature(org.eclipse.qvtd.doc.miniocl.@NonNull Feature object) {
+ return delegate.visitFeature(object);
+ }
+
+ @Override
+ public R visitNamedElement(org.eclipse.qvtd.doc.miniocl.@NonNull NamedElement object) {
+ return delegate.visitNamedElement(object);
+ }
+
+ @Override
+ public R visitNamespace(org.eclipse.qvtd.doc.miniocl.@NonNull Namespace object) {
+ return delegate.visitNamespace(object);
+ }
+
+ @Override
+ public R visitOCLExpression(org.eclipse.qvtd.doc.miniocl.@NonNull OCLExpression object) {
+ return delegate.visitOCLExpression(object);
+ }
+
+ @Override
+ public R visitOperation(org.eclipse.qvtd.doc.miniocl.@NonNull Operation object) {
+ return delegate.visitOperation(object);
+ }
+
+ @Override
+ public R visitOperationCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull OperationCallExp object) {
+ return delegate.visitOperationCallExp(object);
+ }
+
+ @Override
+ public R visitPackage(org.eclipse.qvtd.doc.miniocl.@NonNull Package object) {
+ return delegate.visitPackage(object);
+ }
+
+ @Override
+ public R visitParameter(org.eclipse.qvtd.doc.miniocl.@NonNull Parameter object) {
+ return delegate.visitParameter(object);
+ }
+
+ @Override
+ public R visitProperty(org.eclipse.qvtd.doc.miniocl.@NonNull Property object) {
+ return delegate.visitProperty(object);
+ }
+
+ @Override
+ public R visitPropertyCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull PropertyCallExp object) {
+ return delegate.visitPropertyCallExp(object);
+ }
+
+ @Override
+ public R visitRoot(org.eclipse.qvtd.doc.miniocl.@NonNull Root object) {
+ return delegate.visitRoot(object);
+ }
+
+ @Override
+ public R visitTypedElement(org.eclipse.qvtd.doc.miniocl.@NonNull TypedElement object) {
+ return delegate.visitTypedElement(object);
+ }
+
+ @Override
+ public R visitVariable(org.eclipse.qvtd.doc.miniocl.@NonNull Variable object) {
+ return delegate.visitVariable(object);
+ }
+
+ @Override
+ public R visitVariableExp(org.eclipse.qvtd.doc.miniocl.@NonNull VariableExp object) {
+ return delegate.visitVariableExp(object);
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractExtendingVisitor.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractExtendingVisitor.java
new file mode 100644
index 000000000..1ea732405
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractExtendingVisitor.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+
+/**
+ * An AbstractExtendingVisitor provides a default implementation for each
+ * visitXxx method that delegates to the visitYyy method of the first
+ * super class, (or transitively its first super class' first super class
+ * until a non-interface super-class is found). In the absence of any
+ * suitable first super class, the method delegates to visiting().
+ */
+public abstract class AbstractExtendingVisitor<R, C>
+ extends AbstractVisitor<R, C>
+ implements Visitor<R>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractExtendingVisitor(C context) {
+ super(context);
+ }
+
+ @Override
+ public R visitCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull CallExp object) {
+ return visitOCLExpression(object);
+ }
+
+ @Override
+ public R visitClass(org.eclipse.qvtd.doc.miniocl.@NonNull Class object) {
+ return visitNamedElement(object);
+ }
+
+ @Override
+ public R visitConstraint(org.eclipse.qvtd.doc.miniocl.@NonNull Constraint object) {
+ return visitNamedElement(object);
+ }
+
+ @Override
+ public R visitElement(org.eclipse.qvtd.doc.miniocl.@NonNull Element object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitExpressionInOCL(org.eclipse.qvtd.doc.miniocl.@NonNull ExpressionInOCL object) {
+ return visitElement(object);
+ }
+
+ @Override
+ public R visitFeature(org.eclipse.qvtd.doc.miniocl.@NonNull Feature object) {
+ return visitNamedElement(object);
+ }
+
+ @Override
+ public R visitNamedElement(org.eclipse.qvtd.doc.miniocl.@NonNull NamedElement object) {
+ return visitElement(object);
+ }
+
+ @Override
+ public R visitNamespace(org.eclipse.qvtd.doc.miniocl.@NonNull Namespace object) {
+ return visitElement(object);
+ }
+
+ @Override
+ public R visitOCLExpression(org.eclipse.qvtd.doc.miniocl.@NonNull OCLExpression object) {
+ return visitTypedElement(object);
+ }
+
+ @Override
+ public R visitOperation(org.eclipse.qvtd.doc.miniocl.@NonNull Operation object) {
+ return visitFeature(object);
+ }
+
+ @Override
+ public R visitOperationCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull OperationCallExp object) {
+ return visitCallExp(object);
+ }
+
+ @Override
+ public R visitPackage(org.eclipse.qvtd.doc.miniocl.@NonNull Package object) {
+ return visitNamedElement(object);
+ }
+
+ @Override
+ public R visitParameter(org.eclipse.qvtd.doc.miniocl.@NonNull Parameter object) {
+ return visitVariable(object);
+ }
+
+ @Override
+ public R visitProperty(org.eclipse.qvtd.doc.miniocl.@NonNull Property object) {
+ return visitFeature(object);
+ }
+
+ @Override
+ public R visitPropertyCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull PropertyCallExp object) {
+ return visitCallExp(object);
+ }
+
+ @Override
+ public R visitRoot(org.eclipse.qvtd.doc.miniocl.@NonNull Root object) {
+ return visitElement(object);
+ }
+
+ @Override
+ public R visitTypedElement(org.eclipse.qvtd.doc.miniocl.@NonNull TypedElement object) {
+ return visitElement(object);
+ }
+
+ @Override
+ public R visitVariable(org.eclipse.qvtd.doc.miniocl.@NonNull Variable object) {
+ return visitNamedElement(object);
+ }
+
+ @Override
+ public R visitVariableExp(org.eclipse.qvtd.doc.miniocl.@NonNull VariableExp object) {
+ return visitOCLExpression(object);
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMergedVisitor.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMergedVisitor.java
new file mode 100644
index 000000000..8bbd0ccc6
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMergedVisitor.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+
+/**
+ * An AbstractMergedVisitor merges all visits direct to visiting().
+ * This can be used by a decorating visitor to execute shared code before redispatching to a decorated visitor.
+ */
+public abstract class AbstractMergedVisitor<R, C>
+ extends AbstractVisitor<R, C>
+ implements Visitor<R>
+{
+ protected AbstractMergedVisitor(C context) {
+ super(context);
+ }
+
+ @Override
+ public R visitCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull CallExp object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitClass(org.eclipse.qvtd.doc.miniocl.@NonNull Class object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitConstraint(org.eclipse.qvtd.doc.miniocl.@NonNull Constraint object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitElement(org.eclipse.qvtd.doc.miniocl.@NonNull Element object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitExpressionInOCL(org.eclipse.qvtd.doc.miniocl.@NonNull ExpressionInOCL object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitFeature(org.eclipse.qvtd.doc.miniocl.@NonNull Feature object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitNamedElement(org.eclipse.qvtd.doc.miniocl.@NonNull NamedElement object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitNamespace(org.eclipse.qvtd.doc.miniocl.@NonNull Namespace object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitOCLExpression(org.eclipse.qvtd.doc.miniocl.@NonNull OCLExpression object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitOperation(org.eclipse.qvtd.doc.miniocl.@NonNull Operation object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitOperationCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull OperationCallExp object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitPackage(org.eclipse.qvtd.doc.miniocl.@NonNull Package object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitParameter(org.eclipse.qvtd.doc.miniocl.@NonNull Parameter object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitProperty(org.eclipse.qvtd.doc.miniocl.@NonNull Property object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitPropertyCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull PropertyCallExp object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitRoot(org.eclipse.qvtd.doc.miniocl.@NonNull Root object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitTypedElement(org.eclipse.qvtd.doc.miniocl.@NonNull TypedElement object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitVariable(org.eclipse.qvtd.doc.miniocl.@NonNull Variable object) {
+ return visiting(object);
+ }
+
+ @Override
+ public R visitVariableExp(org.eclipse.qvtd.doc.miniocl.@NonNull VariableExp object) {
+ return visiting(object);
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMiniOCLCommonLookupVisitor.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMiniOCLCommonLookupVisitor.java
new file mode 100644
index 000000000..aa80e434e
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractMiniOCLCommonLookupVisitor.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ * template: org.eclipse.ocl.examples.build.xtend.GenerateAutoLookupInfrastructureXtend
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.util;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.qvtd.doc.miniocl.lookup.LookupEnvironment;
+
+public abstract class AbstractMiniOCLCommonLookupVisitor
+ extends AbstractExtendingVisitor<@Nullable LookupEnvironment, @NonNull LookupEnvironment> {
+
+ protected AbstractMiniOCLCommonLookupVisitor(@NonNull LookupEnvironment context) {
+ super(context);
+ }
+
+ @Override
+ public final LookupEnvironment visiting(@NonNull Visitable visitable) {
+ return doVisiting(visitable);
+ }
+
+
+ abstract protected LookupEnvironment doVisiting(@NonNull Visitable visitable);
+
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractNullVisitor.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractNullVisitor.java
new file mode 100644
index 000000000..1a34a9683
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractNullVisitor.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
+/**
+ * An AbstractNullVisitor provides a default implementation for each
+ * visitXxx method that returns null.
+ *
+ * @deprecated Explicit 'Null' functionality is obsolete with Java 8 @Nullable annotations.
+ */
+ @Deprecated
+public abstract class AbstractNullVisitor<@Nullable R, C>
+ extends AbstractVisitor<R, C>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractNullVisitor(C context) {
+ super(context);
+ }
+
+ @Override
+ public R visitCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull CallExp object) {
+ return null;
+ }
+
+ @Override
+ public R visitClass(org.eclipse.qvtd.doc.miniocl.@NonNull Class object) {
+ return null;
+ }
+
+ @Override
+ public R visitConstraint(org.eclipse.qvtd.doc.miniocl.@NonNull Constraint object) {
+ return null;
+ }
+
+ @Override
+ public R visitElement(org.eclipse.qvtd.doc.miniocl.@NonNull Element object) {
+ return null;
+ }
+
+ @Override
+ public R visitExpressionInOCL(org.eclipse.qvtd.doc.miniocl.@NonNull ExpressionInOCL object) {
+ return null;
+ }
+
+ @Override
+ public R visitFeature(org.eclipse.qvtd.doc.miniocl.@NonNull Feature object) {
+ return null;
+ }
+
+ @Override
+ public R visitNamedElement(org.eclipse.qvtd.doc.miniocl.@NonNull NamedElement object) {
+ return null;
+ }
+
+ @Override
+ public R visitNamespace(org.eclipse.qvtd.doc.miniocl.@NonNull Namespace object) {
+ return null;
+ }
+
+ @Override
+ public R visitOCLExpression(org.eclipse.qvtd.doc.miniocl.@NonNull OCLExpression object) {
+ return null;
+ }
+
+ @Override
+ public R visitOperation(org.eclipse.qvtd.doc.miniocl.@NonNull Operation object) {
+ return null;
+ }
+
+ @Override
+ public R visitOperationCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull OperationCallExp object) {
+ return null;
+ }
+
+ @Override
+ public R visitPackage(org.eclipse.qvtd.doc.miniocl.@NonNull Package object) {
+ return null;
+ }
+
+ @Override
+ public R visitParameter(org.eclipse.qvtd.doc.miniocl.@NonNull Parameter object) {
+ return null;
+ }
+
+ @Override
+ public R visitProperty(org.eclipse.qvtd.doc.miniocl.@NonNull Property object) {
+ return null;
+ }
+
+ @Override
+ public R visitPropertyCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull PropertyCallExp object) {
+ return null;
+ }
+
+ @Override
+ public R visitRoot(org.eclipse.qvtd.doc.miniocl.@NonNull Root object) {
+ return null;
+ }
+
+ @Override
+ public R visitTypedElement(org.eclipse.qvtd.doc.miniocl.@NonNull TypedElement object) {
+ return null;
+ }
+
+ @Override
+ public R visitVariable(org.eclipse.qvtd.doc.miniocl.@NonNull Variable object) {
+ return null;
+ }
+
+ @Override
+ public R visitVariableExp(org.eclipse.qvtd.doc.miniocl.@NonNull VariableExp object) {
+ return null;
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractVisitor.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractVisitor.java
new file mode 100644
index 000000000..7bdfd086c
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractVisitor.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
+/*
+ * An AbstractVisitor provides a default implementation of the visitor framework
+ * but n implementations of the visitXXX methods..
+ */
+public abstract class AbstractVisitor<R, C>
+ implements Visitor<R>
+{
+ /**
+ * Context for the AST visitation.
+ */
+ protected final C context;
+
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractVisitor(C context) {
+ this.context = context;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <A> @Nullable A getAdapter(@NonNull Class<A> adapter) {
+ if (adapter.isAssignableFrom(getClass())) {
+ return (A) this;
+ }
+ else {
+ return null;
+ }
+ }
+
+ /**
+ * A null-safe visitation of the specified visitable.
+ *
+ * @param v a visitable, or <code>null</code>
+ * @return <code>null</code> if the visitable is <code>null</code>;
+ * otherwise, the result of visiting it
+ */
+ public @Nullable R safeVisit(org.eclipse.qvtd.doc.miniocl.util.@Nullable Visitable v) {
+ return (v == null) ? null : v.accept(this);
+ }
+
+ /**
+ * Perform a visit to the specified visitable.
+ *
+ * @param v a visitable, or <code>null</code>
+ * @return <code>null</code> if the visitable is <code>null</code>;
+ * otherwise, the result of visiting it
+ */
+ public R visit(org.eclipse.qvtd.doc.miniocl.util.@NonNull Visitable v) {
+ return v.accept(this);
+ }
+
+ // public R visiting(org.eclipse.qvtd.doc.miniocl.util.@NonNull Visitable visitable) {
+ // return null;
+ // }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractWrappingVisitor.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractWrappingVisitor.java
new file mode 100644
index 000000000..482d7e707
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/AbstractWrappingVisitor.java
@@ -0,0 +1,306 @@
+/*******************************************************************************
+ * <copyright>
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: org.eclipse.qvtd.doc.miniocl/model/MiniOCL.genmodel
+ *
+ * Only the copyright statement is editable.
+ *******************************************************************************/
+package org.eclipse.qvtd.doc.miniocl.util;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
+/**
+ * An AbstractWrappingVisitor delegates all visits wrapping the delegation in a call to a preVisit function and a postVisit function.
+ */
+public abstract class AbstractWrappingVisitor<R, C, @NonNull D extends Visitor<R>, P>
+ extends AbstractVisitor<R, C>
+ implements Visitor<R>
+{
+ protected final @NonNull D delegate;
+
+ protected AbstractWrappingVisitor(@NonNull D delegate, C context) {
+ super(context);
+ this.delegate = delegate;
+ // delegate.setUndecoratedVisitor(this);
+ }
+
+ /**
+ * Intercept an exception thrown by the delegated visit to perform some post-functionality that may use the visitable object,
+ * the result of preVisit and the thrown exception to determine the overall wrapped result.
+ *
+ * @return a rethrown RuntimeException or a RuntimeException-wrapped non-RuntimeException.
+ */
+ protected R badVisit(org.eclipse.qvtd.doc.miniocl.util.@NonNull Visitable visitable, @Nullable P prologue, @NonNull Throwable e) throws RuntimeException {
+ if (e instanceof Exception) {
+ throw (RuntimeException)e;
+ }
+ else {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Obtains the visitor that I wrap.
+ *
+ * @return my wrapped visitor
+ */
+ protected @NonNull D getDelegate() {
+ return delegate;
+ }
+
+ /**
+ * Intercept the result of the delegated visit to perform some post-functionality that may use the visitable object,
+ * the result of preVisit and the result of the delegated visit to determine the overall wrapped result.
+ *
+ * @return the epilogue result, which defaults to the delegated result.
+ */
+ protected R postVisit(org.eclipse.qvtd.doc.miniocl.util.@NonNull Visitable visitable, @Nullable P prologue, R result) {
+ return result;
+ }
+
+ /**
+ * Compute and return some value before performing the delegated visit.
+ *
+ * @return the prologue result, which defauilts to null.
+ */
+ protected @Nullable P preVisit(org.eclipse.qvtd.doc.miniocl.util.@NonNull Visitable visitable) {
+ return null;
+ }
+
+ @Override
+ public R visiting(org.eclipse.qvtd.doc.miniocl.util.@NonNull Visitable visitable) {
+ throw new UnsupportedOperationException(); // Cannot happen since all methods delegate.
+ }
+
+ @Override
+ public R visitCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull CallExp object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitCallExp(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitClass(org.eclipse.qvtd.doc.miniocl.@NonNull Class object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitClass(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitConstraint(org.eclipse.qvtd.doc.miniocl.@NonNull Constraint object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitConstraint(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitElement(org.eclipse.qvtd.doc.miniocl.@NonNull Element object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitElement(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitExpressionInOCL(org.eclipse.qvtd.doc.miniocl.@NonNull ExpressionInOCL object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitExpressionInOCL(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitFeature(org.eclipse.qvtd.doc.miniocl.@NonNull Feature object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitFeature(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitNamedElement(org.eclipse.qvtd.doc.miniocl.@NonNull NamedElement object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitNamedElement(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitNamespace(org.eclipse.qvtd.doc.miniocl.@NonNull Namespace object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitNamespace(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitOCLExpression(org.eclipse.qvtd.doc.miniocl.@NonNull OCLExpression object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitOCLExpression(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitOperation(org.eclipse.qvtd.doc.miniocl.@NonNull Operation object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitOperation(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitOperationCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull OperationCallExp object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitOperationCallExp(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitPackage(org.eclipse.qvtd.doc.miniocl.@NonNull Package object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitPackage(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitParameter(org.eclipse.qvtd.doc.miniocl.@NonNull Parameter object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitParameter(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitProperty(org.eclipse.qvtd.doc.miniocl.@NonNull Property object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitProperty(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitPropertyCallExp(org.eclipse.qvtd.doc.miniocl.@NonNull PropertyCallExp object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitPropertyCallExp(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitRoot(org.eclipse.qvtd.doc.miniocl.@NonNull Root object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitRoot(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitTypedElement(org.eclipse.qvtd.doc.miniocl.@NonNull TypedElement object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitTypedElement(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitVariable(org.eclipse.qvtd.doc.miniocl.@NonNull Variable object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitVariable(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+
+ @Override
+ public R visitVariableExp(org.eclipse.qvtd.doc.miniocl.@NonNull VariableExp object) {
+ @Nullable P prologue = preVisit(object);
+ try {
+ R result = delegate.visitVariableExp(object);
+ return postVisit(object, prologue, result);
+ }
+ catch (Throwable e) {
+ return badVisit(object, prologue, e);
+ }
+ }
+}
diff --git a/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLAdapterFactory.java b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLAdapterFactory.java
new file mode 100644
index 000000000..6c3e112f5
--- /dev/null
+++ b/doc/org.eclipse.qvtd.doc.miniocl/emf-gen/org/eclipse/qvtd/doc/miniocl/util/MiniOCLAdapterFactory.java
@@ -0,0 +1,477 @@
+/**
+ */
+package org.eclipse.qvtd.doc.miniocl.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.qvtd.doc.miniocl.CallExp;
+import org.eclipse.qvtd.doc.miniocl.Constraint;
+import org.eclipse.qvtd.doc.miniocl.Element;
+import org.eclipse.qvtd.doc.miniocl.ExpressionInOCL;
+import org.eclipse.qvtd.doc.miniocl.Feature;
+import org.eclipse.qvtd.doc.miniocl.MiniOCLPackage;
+import org.eclipse.qvtd.doc.miniocl.NamedElement;
+import org.eclipse.qvtd.doc.miniocl.Namespace;
+import org.eclipse.qvtd.doc.miniocl.OCLExpression;
+import org.eclipse.qvtd.doc.miniocl.Operation;
+import org.eclipse.qvtd.doc.miniocl.OperationCallExp;
+import org.eclipse.qvtd.doc.miniocl.Parameter;
+import org.eclipse.qvtd.doc.miniocl.Property;
+import org.eclipse.qvtd.doc.miniocl.PropertyCallExp;
+import org.eclipse.qvtd.doc.miniocl.Root;
+import org.eclipse.qvtd.doc.miniocl.TypedElement;
+import org.eclipse.qvtd.doc.miniocl.Variable;
+import org.eclipse.qvtd.doc.miniocl.VariableExp;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.doc.miniocl.MiniOCLPackage
+ * @generated
+ */
+public class MiniOCLAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static MiniOCLPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MiniOCLAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = MiniOCLPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MiniOCLSwitch<@Nullable Adapter> modelSwitch =
+ new MiniOCLSwitch<@Nullable Adapter>() {
+ @Override
+ public Adapter caseCallExp(CallExp object) {
+ return createCallExpAdapter();
+ }
+ @Override
+ public Adapter caseClass(org.eclipse.qvtd.doc.miniocl.Class object) {
+ return createClassAdapter();
+ }
+ @Override
+ public Adapter caseElement(Element object) {
+ return createElementAdapter();
+ }
+ @Override
+ public Adapter caseFeature(Feature object) {
+ return createFeatureAdapter();
+ }
+ @Override
+ public Adapter caseNamedElement(NamedElement object) {
+ return createNamedElementAdapter();
+ }
+ @Override
+ public Adapter caseNamespace(Namespace object) {
+ return createNamespaceAdapter();
+ }
+ @Override
+ public Adapter caseOCLExpression(OCLExpression object) {
+ return createOCLExpressionAdapter();
+ }
+ @Override
+ public Adapter caseOperationCallExp(OperationCallExp object) {
+ return createOperationCallExpAdapter();
+ }
+ @Override
+ public Adapter caseOperation(Operation object) {
+ return createOperationAdapter();
+ }
+ @Override
+ public Adapter casePackage(org.eclipse.qvtd.doc.miniocl.Package object) {
+ return createPackageAdapter();
+ }
+ @Override
+ public Adapter caseParameter(Parameter object) {
+ return createParameterAdapter();
+ }
+ @Override
+ public Adapter caseProperty(Property object) {
+ return createPropertyAdapter();
+ }
+ @Override
+ public Adapter casePropertyCallExp(PropertyCallExp object) {
+ return createPropertyCallExpAdapter();
+ }
+ @Override
+ public Adapter caseRoot(Root object) {
+ return createRootAdapter();
+ }
+ @Override
+ public Adapter caseVariable(Variable object) {
+ return createVariableAdapter();
+ }
+ @Override
+ public Adapter caseVariableExp(VariableExp object) {
+ return createVariableExpAdapter();
+ }
+ @Override
+ public Adapter caseVisitable(Visitable object) {
+ return createVisitableAdapter();
+ }
+ @Override
+ public Adapter caseTypedElement(TypedElement object) {
+ return createTypedElementAdapter();
+ }
+ @Override
+ public Adapter caseExpressionInOCL(ExpressionInOCL object) {
+ return createExpressionInOCLAdapter();
+ }
+ @Override
+ public Adapter caseConstraint(Constraint object) {
+ return createConstraintAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.Element <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.Element
+ * @generated
+ */
+ public Adapter createElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.Feature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.Feature
+ * @generated
+ */
+ public Adapter createFeatureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.NamedElement <em>Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.NamedElement
+ * @generated
+ */
+ public Adapter createNamedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.Namespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.Namespace
+ * @generated
+ */
+ public Adapter createNamespaceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.TypedElement <em>Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.TypedElement
+ * @generated
+ */
+ public Adapter createTypedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.ExpressionInOCL <em>Expression In OCL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.ExpressionInOCL
+ * @generated
+ */
+ public Adapter createExpressionInOCLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.Constraint <em>Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.Constraint
+ * @generated
+ */
+ public Adapter createConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.doc.miniocl.OCLExpression <em>OCL Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.doc.miniocl.OCLExpression
+ * @generated
+ */
+ public Adapter createOCLExpressionAdapter() {
+ return null;
+ }