Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo SBH2015-03-03 12:40:42 +0000
committerEd Willink2015-03-07 12:16:36 +0000
commite496d761d82c18672c1d372e39293262333dc29c (patch)
treea4947c491403eb9410d25aa35977a9adb61b51a7
parentd85108e20d9c942238a22c33a8dfbf50c6b4c2cb (diff)
downloadorg.eclipse.qvtd-e496d761d82c18672c1d372e39293262333dc29c.tar.gz
org.eclipse.qvtd-e496d761d82c18672c1d372e39293262333dc29c.tar.xz
org.eclipse.qvtd-e496d761d82c18672c1d372e39293262333dc29c.zip
[ocl2qvti] - Introducing Visitble interface in the example2 classes
meta-model
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/Classes.ecore4
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/ClassesContainmentTree.xmi15
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/cg/Source2Target_qvtp_qvtias.java42
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/ClassesPackage.java53
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/Element.java5
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/impl/ClassesPackageImpl.java23
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractExtendingVisitor.java2
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractWrappingVisitor.java6
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesAdapterFactory.java18
-rw-r--r--tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesSwitch.java27
10 files changed, 158 insertions, 37 deletions
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/Classes.ecore b/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/Classes.ecore
index bb713b1b5..f31e41dc7 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/Classes.ecore
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/Classes.ecore
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="classes" nsURI="http://cs2as/tests/example2/classes/1.0" nsPrefix="classes">
- <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="#//Visitable"/>
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
@@ -19,4 +19,6 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedPackages" upperBound="-1"
eType="#//Package" containment="true"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Visitable" instanceClassName="example2.classes.util.Visitable"
+ abstract="true" interface="true"/>
</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/ClassesContainmentTree.xmi b/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/ClassesContainmentTree.xmi
index 64ffd8b1d..5a8caa386 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/ClassesContainmentTree.xmi
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/src/org/eclipse/qvtd/build/cs2as/tests/models/example2/ClassesContainmentTree.xmi
@@ -1,22 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:eCoreContainemntTree="http://www.eclipse.org/qvt/examples/0.1/ECoreContainemntTree"
xsi:schemaLocation="http://www.eclipse.org/qvt/examples/0.1/ECoreContainemntTree ../../../../../../../../../../org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore">
- <eCoreContainemntTree:Node name="Element" subTypes="/1 /2 /3 /5 /4">
+ <eCoreContainemntTree:Node name="Element" subTypes="/1 /2 /3 /5 /4" superTypes="/6">
<element href="Classes.ecore#//Element"/>
</eCoreContainemntTree:Node>
- <eCoreContainemntTree:Node name="NamedElement" subTypes="/3 /4" superTypes="/0">
+ <eCoreContainemntTree:Node name="NamedElement" subTypes="/3 /4" superTypes="/0 /6">
<element href="Classes.ecore#//NamedElement"/>
</eCoreContainemntTree:Node>
- <eCoreContainemntTree:Node name="Namespace" subTypes="/3" superTypes="/0">
+ <eCoreContainemntTree:Node name="Namespace" subTypes="/3" superTypes="/0 /6">
<element href="Classes.ecore#//Namespace"/>
</eCoreContainemntTree:Node>
- <eCoreContainemntTree:Node name="Package" parent="/3 /5" children="/3 /4" superTypes="/1 /0 /2">
+ <eCoreContainemntTree:Node name="Package" parent="/3 /5" children="/3 /4" superTypes="/1 /0 /6 /2">
<element href="Classes.ecore#//Package"/>
</eCoreContainemntTree:Node>
- <eCoreContainemntTree:Node name="Class" parent="/3" superTypes="/1 /0">
+ <eCoreContainemntTree:Node name="Class" parent="/3" superTypes="/1 /0 /6">
<element href="Classes.ecore#//Class"/>
</eCoreContainemntTree:Node>
- <eCoreContainemntTree:Node name="Root" children="/3" superTypes="/0">
+ <eCoreContainemntTree:Node name="Root" children="/3" superTypes="/0 /6">
<element href="Classes.ecore#//Root"/>
</eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node name="Visitable" subTypes="/0 /1 /2 /3 /5 /4">
+ <element href="Classes.ecore#//Visitable"/>
+ </eCoreContainemntTree:Node>
</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/cg/Source2Target_qvtp_qvtias.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/cg/Source2Target_qvtp_qvtias.java
index 8394406f3..e92edba0a 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/cg/Source2Target_qvtp_qvtias.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/cg/Source2Target_qvtp_qvtias.java
@@ -9,9 +9,28 @@
package cg;
+import example1.env.Environment;
+import example1.env.EnvironmentPackage;
+import example1.source.SRoot;
+import example1.source.SourcePackage;
+import example1.source.X;
+import example1.source.Y;
+import example1.source.Y1;
+import example1.source.Y2;
+import example1.source.Z;
+import example1.target.A;
+import example1.target.A1;
+import example1.target.A2;
+import example1.target.A3;
+import example1.target.B;
+import example1.target.C;
+import example1.target.D;
+import example1.target.NamedElement;
+import example1.target.TRoot;
+import example1.target.TargetFactory;
+import example1.target.TargetPackage;
import java.util.Iterator;
import java.util.List;
-
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.jdt.annotation.NonNull;
@@ -47,27 +66,6 @@ import org.eclipse.ocl.pivot.values.SequenceValue;
import org.eclipse.ocl.pivot.values.SetValue;
import org.eclipse.qvtd.pivot.qvtbase.evaluation.AbstractTransformationExecutor;
-import example1.env.Environment;
-import example1.env.EnvironmentPackage;
-import example1.source.SRoot;
-import example1.source.SourcePackage;
-import example1.source.X;
-import example1.source.Y;
-import example1.source.Y1;
-import example1.source.Y2;
-import example1.source.Z;
-import example1.target.A;
-import example1.target.A1;
-import example1.target.A2;
-import example1.target.A3;
-import example1.target.B;
-import example1.target.C;
-import example1.target.D;
-import example1.target.NamedElement;
-import example1.target.TRoot;
-import example1.target.TargetFactory;
-import example1.target.TargetPackage;
-
/**
* The Source2Target_qvtp_qvtias transformation:
* <p>
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/ClassesPackage.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/ClassesPackage.java
index fe392d71c..110102af0 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/ClassesPackage.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/ClassesPackage.java
@@ -57,6 +57,34 @@ public interface ClassesPackage extends EPackage {
ClassesPackage eINSTANCE = example2.classes.impl.ClassesPackageImpl.init();
/**
+ * The meta object id for the '{@link example2.classes.util.Visitable <em>Visitable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see example2.classes.util.Visitable
+ * @see example2.classes.impl.ClassesPackageImpl#getVisitable()
+ * @generated
+ */
+ int VISITABLE = 6;
+
+ /**
+ * 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 example2.classes.impl.ElementImpl <em>Element</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -73,7 +101,7 @@ public interface ClassesPackage extends EPackage {
* @generated
* @ordered
*/
- int ELEMENT_FEATURE_COUNT = 0;
+ int ELEMENT_FEATURE_COUNT = VISITABLE_FEATURE_COUNT + 0;
/**
* The number of operations of the '<em>Element</em>' class.
@@ -82,7 +110,7 @@ public interface ClassesPackage extends EPackage {
* @generated
* @ordered
*/
- int ELEMENT_OPERATION_COUNT = 0;
+ int ELEMENT_OPERATION_COUNT = VISITABLE_OPERATION_COUNT + 0;
/**
* The meta object id for the '{@link example2.classes.impl.NamedElementImpl <em>Named Element</em>}' class.
@@ -404,6 +432,17 @@ public interface ClassesPackage extends EPackage {
EReference getRoot_OwnedPackages();
/**
+ * Returns the meta object for class '{@link example2.classes.util.Visitable <em>Visitable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Visitable</em>'.
+ * @see example2.classes.util.Visitable
+ * @model instanceClass="example2.classes.util.Visitable"
+ * @generated
+ */
+ EClass getVisitable();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -526,6 +565,16 @@ public interface ClassesPackage extends EPackage {
*/
EReference ROOT__OWNED_PACKAGES = eINSTANCE.getRoot_OwnedPackages();
+ /**
+ * The meta object literal for the '{@link example2.classes.util.Visitable <em>Visitable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see example2.classes.util.Visitable
+ * @see example2.classes.impl.ClassesPackageImpl#getVisitable()
+ * @generated
+ */
+ EClass VISITABLE = eINSTANCE.getVisitable();
+
}
} //ClassesPackage
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/Element.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/Element.java
index 990591a93..c1c0ba3f4 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/Element.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/Element.java
@@ -4,6 +4,7 @@ package example2.classes;
import org.eclipse.emf.ecore.EObject;
+import example2.classes.util.Visitable;
import example2.classes.util.Visitor;
/**
@@ -13,10 +14,10 @@ import example2.classes.util.Visitor;
*
*
* @see example2.classes.ClassesPackage#getElement()
- * @model abstract="true"
+ * @model abstract="true" superTypes="example2.classes.Visitable"
* @generated
*/
-public interface Element extends EObject {
+public interface Element extends EObject, Visitable {
/**
* Accept a visit from a visitor and return the result of a call to the derived type-specific visitXXX in the visitor.
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/impl/ClassesPackageImpl.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/impl/ClassesPackageImpl.java
index fa81d7a19..62b7993b2 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/impl/ClassesPackageImpl.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/impl/ClassesPackageImpl.java
@@ -2,6 +2,8 @@
*/
package example2.classes.impl;
+import static example2.classes.ClassesPackage.CLASS;
+
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
@@ -65,6 +67,13 @@ public class ClassesPackageImpl extends EPackageImpl implements ClassesPackage {
private EClass rootEClass = 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.
@@ -229,6 +238,15 @@ public class ClassesPackageImpl extends EPackageImpl implements ClassesPackage {
* <!-- end-user-doc -->
* @generated
*/
+ public EClass getVisitable() {
+ return visitableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public ClassesFactory getClassesFactory() {
return (ClassesFactory)getEFactoryInstance();
}
@@ -268,6 +286,8 @@ public class ClassesPackageImpl extends EPackageImpl implements ClassesPackage {
rootEClass = createEClass(ROOT);
createEReference(rootEClass, ROOT__OWNED_PACKAGES);
+
+ visitableEClass = createEClass(VISITABLE);
}
/**
@@ -298,6 +318,7 @@ public class ClassesPackageImpl extends EPackageImpl implements ClassesPackage {
// Set bounds for type parameters
// Add supertypes to classes
+ elementEClass.getESuperTypes().add(this.getVisitable());
namedElementEClass.getESuperTypes().add(this.getElement());
namespaceEClass.getESuperTypes().add(this.getElement());
packageEClass.getESuperTypes().add(this.getNamedElement());
@@ -323,6 +344,8 @@ public class ClassesPackageImpl extends EPackageImpl implements ClassesPackage {
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(visitableEClass, example2.classes.util.Visitable.class, "Visitable", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
+
// Create resource
createResource(eNS_URI);
}
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractExtendingVisitor.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractExtendingVisitor.java
index 49c80eeff..470dd7b8b 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractExtendingVisitor.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractExtendingVisitor.java
@@ -40,7 +40,7 @@ public abstract class AbstractExtendingVisitor<R, C>
@Override
public @Nullable R visitElement(@NonNull example2.classes.Element object) {
- return null;
+ return visiting(object);
}
@Override
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractWrappingVisitor.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractWrappingVisitor.java
index 53617f66d..54cc1ad5b 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractWrappingVisitor.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/AbstractWrappingVisitor.java
@@ -34,7 +34,7 @@ public abstract class AbstractWrappingVisitor<R, C, D extends Visitor<R>, P>
*
* @return a rethrown RuntimeException or a RuntimeException-wrapped non-RuntimeException.
*/
- protected @Nullable R badVisit(@NonNull example2.classes.Element visitable, @Nullable P prologue, @NonNull Throwable e) throws RuntimeException {
+ protected @Nullable R badVisit(@NonNull example2.classes.util.Visitable visitable, @Nullable P prologue, @NonNull Throwable e) throws RuntimeException {
if (e instanceof Exception) {
throw (RuntimeException)e;
}
@@ -59,7 +59,7 @@ public abstract class AbstractWrappingVisitor<R, C, D extends Visitor<R>, P>
*
* @return the epilogue result, which defaults to the delegated result.
*/
- protected @Nullable R postVisit(@NonNull example2.classes.Element visitable, @Nullable P prologue, @Nullable R result) {
+ protected @Nullable R postVisit(@NonNull example2.classes.util.Visitable visitable, @Nullable P prologue, @Nullable R result) {
return result;
}
@@ -68,7 +68,7 @@ public abstract class AbstractWrappingVisitor<R, C, D extends Visitor<R>, P>
*
* @return the prologue result, which defauilts to null.
*/
- protected @Nullable P preVisit(@NonNull example2.classes.Element visitable) {
+ protected @Nullable P preVisit(@NonNull example2.classes.util.Visitable visitable) {
return null;
}
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesAdapterFactory.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesAdapterFactory.java
index 75aaf3fc6..f9d390ce2 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesAdapterFactory.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesAdapterFactory.java
@@ -94,6 +94,10 @@ public class ClassesAdapterFactory extends AdapterFactoryImpl {
return createRootAdapter();
}
@Override
+ public Adapter caseVisitable(example2.classes.util.Visitable object) {
+ return createVisitableAdapter();
+ }
+ @Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
@@ -198,6 +202,20 @@ public class ClassesAdapterFactory extends AdapterFactoryImpl {
}
/**
+ * Creates a new adapter for an object of class '{@link example2.classes.util.Visitable <em>Visitable</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 example2.classes.util.Visitable
+ * @generated
+ */
+ public Adapter createVisitableAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesSwitch.java b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesSwitch.java
index fb17da25e..2407ec821 100644
--- a/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesSwitch.java
+++ b/tests/org.eclipse.qvtd.build.cs2as.tests/tests-gen/example2/classes/util/ClassesSwitch.java
@@ -72,6 +72,7 @@ public class ClassesSwitch<T> extends Switch<T> {
case ClassesPackage.ELEMENT: {
Element element = (Element)theEObject;
T result = caseElement(element);
+ if (result == null) result = caseVisitable(element);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -79,6 +80,7 @@ public class ClassesSwitch<T> extends Switch<T> {
NamedElement namedElement = (NamedElement)theEObject;
T result = caseNamedElement(namedElement);
if (result == null) result = caseElement(namedElement);
+ if (result == null) result = caseVisitable(namedElement);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -86,6 +88,7 @@ public class ClassesSwitch<T> extends Switch<T> {
Namespace namespace = (Namespace)theEObject;
T result = caseNamespace(namespace);
if (result == null) result = caseElement(namespace);
+ if (result == null) result = caseVisitable(namespace);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -95,6 +98,7 @@ public class ClassesSwitch<T> extends Switch<T> {
if (result == null) result = caseNamedElement(package_);
if (result == null) result = caseNamespace(package_);
if (result == null) result = caseElement(package_);
+ if (result == null) result = caseVisitable(package_);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -103,6 +107,7 @@ public class ClassesSwitch<T> extends Switch<T> {
T result = caseClass(class_);
if (result == null) result = caseNamedElement(class_);
if (result == null) result = caseElement(class_);
+ if (result == null) result = caseVisitable(class_);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -110,6 +115,13 @@ public class ClassesSwitch<T> extends Switch<T> {
Root root = (Root)theEObject;
T result = caseRoot(root);
if (result == null) result = caseElement(root);
+ if (result == null) result = caseVisitable(root);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ClassesPackage.VISITABLE: {
+ example2.classes.util.Visitable visitable = (example2.classes.util.Visitable)theEObject;
+ T result = caseVisitable(visitable);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -208,6 +220,21 @@ public class ClassesSwitch<T> extends Switch<T> {
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Visitable</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>Visitable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVisitable(example2.classes.util.Visitable object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;

Back to the top