diff options
author | Ed Willink | 2015-01-11 17:08:03 +0000 |
---|---|---|
committer | Ed Willink | 2015-01-11 17:08:03 +0000 |
commit | 58923a246a3f540d13afdfd9d9c8a7714da8ea34 (patch) | |
tree | 515cfc266d7a86ab66b80f8fdda2bc5f3cdebbe1 | |
parent | dc9f05c161f5f2bf093cbae933f14cd363833920 (diff) | |
download | org.eclipse.qvtd-ewillink/445071.tar.gz org.eclipse.qvtd-ewillink/445071.tar.xz org.eclipse.qvtd-ewillink/445071.zip |
[445071] Try CGAllInstancesOperationCallExp to uncommon allInstancesewillink/445071
26 files changed, 550 insertions, 78 deletions
diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/CGAllInstancesOperationCallExp.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/CGAllInstancesOperationCallExp.java new file mode 100644 index 000000000..1ee6cce81 --- /dev/null +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/CGAllInstancesOperationCallExp.java @@ -0,0 +1,30 @@ +/** + * <copyright> + * + * Copyright (c) 2013 E.D.Willink and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * E.D.Willink - Initial API and implementation + * + * </copyright> + */ +package org.eclipse.qvtd.codegen.qvticgmodel; + +import org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryOperationCallExp; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>CG All Instances Operation Call Exp</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.qvtd.codegen.qvticgmodel.QVTiCGModelPackage#getCGAllInstancesOperationCallExp() + * @model + * @generated + */ +public interface CGAllInstancesOperationCallExp extends CGLibraryOperationCallExp { +} // CGAllInstancesOperationCallExp diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelFactory.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelFactory.java index 678e0882d..74c53f125 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelFactory.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelFactory.java @@ -32,6 +32,15 @@ public interface QVTiCGModelFactory extends EFactory { @NonNull QVTiCGModelFactory eINSTANCE = org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelFactoryImpl.init(); /** + * Returns a new object of class '<em>CG All Instances Operation Call Exp</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>CG All Instances Operation Call Exp</em>'. + * @generated + */ + CGAllInstancesOperationCallExp createCGAllInstancesOperationCallExp(); + + /** * Returns a new object of class '<em>CG Ecore Property Assignment</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelPackage.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelPackage.java index 2f7ef3512..a6aba1d0b 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelPackage.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/QVTiCGModelPackage.java @@ -85,6 +85,133 @@ public interface QVTiCGModelPackage extends EPackage { @NonNull QVTiCGModelPackage eINSTANCE = org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl.init(); /** + * The meta object id for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGAllInstancesOperationCallExpImpl <em>CG All Instances Operation Call Exp</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.CGAllInstancesOperationCallExpImpl + * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGAllInstancesOperationCallExp() + * @generated + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP = 0; + + /** + * The feature id for the '<em><b>Ast</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__AST = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__AST; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__NAME = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__NAME; + + /** + * The feature id for the '<em><b>Type Id</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__TYPE_ID = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__TYPE_ID; + + /** + * The feature id for the '<em><b>Required</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__REQUIRED = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__REQUIRED; + + /** + * The feature id for the '<em><b>Depends On</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__DEPENDS_ON = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__DEPENDS_ON; + + /** + * The feature id for the '<em><b>Owns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__OWNS = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__OWNS; + + /** + * The feature id for the '<em><b>Invalidating</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__INVALIDATING = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__INVALIDATING; + + /** + * The feature id for the '<em><b>Validating</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__VALIDATING = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__VALIDATING; + + /** + * The feature id for the '<em><b>Source</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__SOURCE = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__SOURCE; + + /** + * The feature id for the '<em><b>Arguments</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__ARGUMENTS = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__ARGUMENTS; + + /** + * The feature id for the '<em><b>Referred Operation</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__REFERRED_OPERATION = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__REFERRED_OPERATION; + + /** + * The feature id for the '<em><b>Library Operation</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP__LIBRARY_OPERATION = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP__LIBRARY_OPERATION; + + /** + * The number of structural features of the '<em>CG All Instances Operation Call Exp</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CG_ALL_INSTANCES_OPERATION_CALL_EXP_FEATURE_COUNT = CGModelPackage.CG_LIBRARY_OPERATION_CALL_EXP_FEATURE_COUNT + 0; + + /** * The meta object id for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGPropertyAssignmentImpl <em>CG Property Assignment</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -92,7 +219,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGPropertyAssignment() * @generated */ - int CG_PROPERTY_ASSIGNMENT = 14; + int CG_PROPERTY_ASSIGNMENT = 15; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -210,7 +337,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGEcorePropertyAssignment() * @generated */ - int CG_ECORE_PROPERTY_ASSIGNMENT = 0; + int CG_ECORE_PROPERTY_ASSIGNMENT = 1; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -337,7 +464,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGMapping() * @generated */ - int CG_MAPPING = 6; + int CG_MAPPING = 7; /** * The meta object id for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGTransformationImpl <em>CG Transformation</em>}' class. @@ -347,7 +474,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGTransformation() * @generated */ - int CG_TRANSFORMATION = 17; + int CG_TRANSFORMATION = 18; /** * Returns the meta object for class '{@link org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment <em>CG Ecore Property Assignment</em>}'. @@ -483,7 +610,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGMappingCall() * @generated */ - int CG_MAPPING_CALL = 7; + int CG_MAPPING_CALL = 8; /** * The meta object id for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGMappingCallBindingImpl <em>CG Mapping Call Binding</em>}' class. @@ -493,7 +620,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGMappingCallBinding() * @generated */ - int CG_MAPPING_CALL_BINDING = 8; + int CG_MAPPING_CALL_BINDING = 9; /** * The meta object id for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGPredicateImpl <em>CG Predicate</em>}' class. @@ -503,7 +630,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGPredicate() * @generated */ - int CG_PREDICATE = 13; + int CG_PREDICATE = 14; /** * The meta object id for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGRealizedVariableImpl <em>CG Realized Variable</em>}' class. @@ -513,7 +640,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGRealizedVariable() * @generated */ - int CG_REALIZED_VARIABLE = 15; + int CG_REALIZED_VARIABLE = 16; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -613,7 +740,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGEcoreRealizedVariable() * @generated */ - int CG_ECORE_REALIZED_VARIABLE = 1; + int CG_ECORE_REALIZED_VARIABLE = 2; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -722,7 +849,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGFunction() * @generated */ - int CG_FUNCTION = 2; + int CG_FUNCTION = 3; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -840,7 +967,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGFunctionCallExp() * @generated */ - int CG_FUNCTION_CALL_EXP = 3; + int CG_FUNCTION_CALL_EXP = 4; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -967,7 +1094,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGFunctionParameter() * @generated */ - int CG_FUNCTION_PARAMETER = 4; + int CG_FUNCTION_PARAMETER = 5; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -1067,7 +1194,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGGuardVariable() * @generated */ - int CG_GUARD_VARIABLE = 5; + int CG_GUARD_VARIABLE = 6; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -1374,7 +1501,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGMappingExp() * @generated */ - int CG_MAPPING_EXP = 9; + int CG_MAPPING_EXP = 10; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -1492,7 +1619,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGMappingLoop() * @generated */ - int CG_MAPPING_LOOP = 10; + int CG_MAPPING_LOOP = 11; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -1619,7 +1746,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGMiddlePropertyAssignment() * @generated */ - int CG_MIDDLE_PROPERTY_ASSIGNMENT = 11; + int CG_MIDDLE_PROPERTY_ASSIGNMENT = 12; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -1746,7 +1873,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGMiddlePropertyCallExp() * @generated */ - int CG_MIDDLE_PROPERTY_CALL_EXP = 12; + int CG_MIDDLE_PROPERTY_CALL_EXP = 13; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -1945,7 +2072,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGSequence() * @generated */ - int CG_SEQUENCE = 16; + int CG_SEQUENCE = 17; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -2135,7 +2262,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGTypedModel() * @generated */ - int CG_TYPED_MODEL = 18; + int CG_TYPED_MODEL = 19; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -2190,7 +2317,7 @@ public interface QVTiCGModelPackage extends EPackage { * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGVariablePredicate() * @generated */ - int CG_VARIABLE_PREDICATE = 19; + int CG_VARIABLE_PREDICATE = 20; /** * The feature id for the '<em><b>Ast</b></em>' attribute. @@ -2292,6 +2419,16 @@ public interface QVTiCGModelPackage extends EPackage { int CG_VARIABLE_PREDICATE_FEATURE_COUNT = CG_PREDICATE_FEATURE_COUNT + 1; /** + * Returns the meta object for class '{@link org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp <em>CG All Instances Operation Call Exp</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>CG All Instances Operation Call Exp</em>'. + * @see org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp + * @generated + */ + EClass getCGAllInstancesOperationCallExp(); + + /** * Returns the meta object for class '{@link org.eclipse.qvtd.codegen.qvticgmodel.CGPropertyAssignment <em>CG Property Assignment</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2741,6 +2878,16 @@ public interface QVTiCGModelPackage extends EPackage { */ interface Literals { /** + * The meta object literal for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGAllInstancesOperationCallExpImpl <em>CG All Instances Operation Call Exp</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.CGAllInstancesOperationCallExpImpl + * @see org.eclipse.qvtd.codegen.qvticgmodel.impl.QVTiCGModelPackageImpl#getCGAllInstancesOperationCallExp() + * @generated + */ + EClass CG_ALL_INSTANCES_OPERATION_CALL_EXP = eINSTANCE.getCGAllInstancesOperationCallExp(); + + /** * The meta object literal for the '{@link org.eclipse.qvtd.codegen.qvticgmodel.impl.CGEcorePropertyAssignmentImpl <em>CG Ecore Property Assignment</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/CGAllInstancesOperationCallExpImpl.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/CGAllInstancesOperationCallExpImpl.java new file mode 100644 index 000000000..37cc870db --- /dev/null +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/CGAllInstancesOperationCallExpImpl.java @@ -0,0 +1,78 @@ +/** + * <copyright> + * + * Copyright (c) 2013 E.D.Willink and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * E.D.Willink - Initial API and implementation + * + * </copyright> + */ +package org.eclipse.qvtd.codegen.qvticgmodel.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; + +import org.eclipse.ocl.examples.codegen.cgmodel.impl.CGLibraryOperationCallExpImpl; + +import org.eclipse.ocl.examples.codegen.cgmodel.util.CGModelVisitor; + +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; +import org.eclipse.qvtd.codegen.qvticgmodel.QVTiCGModelPackage; + +import org.eclipse.qvtd.codegen.qvticgmodel.util.QVTiCGModelVisitor; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>CG All Instances Operation Call Exp</b></em>'. + * <!-- end-user-doc --> + * <p> + * + * @generated + */ +public class CGAllInstancesOperationCallExpImpl extends CGLibraryOperationCallExpImpl implements CGAllInstancesOperationCallExp { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CGAllInstancesOperationCallExpImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return QVTiCGModelPackage.Literals.CG_ALL_INSTANCES_OPERATION_CALL_EXP; + } + + /** + * {@inheritDoc} + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public @Nullable <R> R accept(@NonNull CGModelVisitor<R> visitor) { + return (R) ((QVTiCGModelVisitor<?>)visitor).visitCGAllInstancesOperationCallExp(this); + } + + /** + * {@inheritDoc} + * @generated + */ + @Override + public boolean isCommonable() { + return false; + } + +} //CGAllInstancesOperationCallExpImpl diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelFactoryImpl.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelFactoryImpl.java index b28196cb8..5d4d179e8 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelFactoryImpl.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelFactoryImpl.java @@ -82,6 +82,7 @@ public class QVTiCGModelFactoryImpl extends EFactoryImpl implements QVTiCGModelF @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { + case QVTiCGModelPackage.CG_ALL_INSTANCES_OPERATION_CALL_EXP: return createCGAllInstancesOperationCallExp(); case QVTiCGModelPackage.CG_ECORE_PROPERTY_ASSIGNMENT: return createCGEcorePropertyAssignment(); case QVTiCGModelPackage.CG_ECORE_REALIZED_VARIABLE: return createCGEcoreRealizedVariable(); case QVTiCGModelPackage.CG_FUNCTION: return createCGFunction(); @@ -113,6 +114,17 @@ public class QVTiCGModelFactoryImpl extends EFactoryImpl implements QVTiCGModelF * @generated */ @Override + public CGAllInstancesOperationCallExp createCGAllInstancesOperationCallExp() { + CGAllInstancesOperationCallExpImpl cgAllInstancesOperationCallExp = new CGAllInstancesOperationCallExpImpl(); + return cgAllInstancesOperationCallExp; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override public @NonNull CGEcorePropertyAssignment createCGEcorePropertyAssignment() { CGEcorePropertyAssignmentImpl cgEcorePropertyAssignment = new CGEcorePropertyAssignmentImpl(); return cgEcorePropertyAssignment; diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelPackageImpl.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelPackageImpl.java index d12f3f1f8..8facaafd5 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelPackageImpl.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/impl/QVTiCGModelPackageImpl.java @@ -16,6 +16,7 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; import org.eclipse.ocl.examples.codegen.cgmodel.CGModelPackage; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -51,6 +52,13 @@ public class QVTiCGModelPackageImpl extends EPackageImpl implements QVTiCGModelP * <!-- end-user-doc --> * @generated */ + private EClass cgAllInstancesOperationCallExpEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ private EClass cgEcorePropertyAssignmentEClass = null; /** @@ -256,6 +264,16 @@ public class QVTiCGModelPackageImpl extends EPackageImpl implements QVTiCGModelP * @generated */ @Override + public EClass getCGAllInstancesOperationCallExp() { + return cgAllInstancesOperationCallExpEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override public EClass getCGEcorePropertyAssignment() { return cgEcorePropertyAssignmentEClass; } @@ -799,6 +817,8 @@ public class QVTiCGModelPackageImpl extends EPackageImpl implements QVTiCGModelP isCreated = true; // Create classes and their features + cgAllInstancesOperationCallExpEClass = createEClass(CG_ALL_INSTANCES_OPERATION_CALL_EXP); + cgEcorePropertyAssignmentEClass = createEClass(CG_ECORE_PROPERTY_ASSIGNMENT); createEReference(cgEcorePropertyAssignmentEClass, CG_ECORE_PROPERTY_ASSIGNMENT__ESTRUCTURAL_FEATURE); @@ -903,6 +923,7 @@ public class QVTiCGModelPackageImpl extends EPackageImpl implements QVTiCGModelP // Set bounds for type parameters // Add supertypes to classes + cgAllInstancesOperationCallExpEClass.getESuperTypes().add(theCGModelPackage.getCGLibraryOperationCallExp()); cgEcorePropertyAssignmentEClass.getESuperTypes().add(this.getCGPropertyAssignment()); cgEcoreRealizedVariableEClass.getESuperTypes().add(this.getCGRealizedVariable()); cgFunctionEClass.getESuperTypes().add(theCGModelPackage.getCGOperation()); @@ -925,6 +946,8 @@ public class QVTiCGModelPackageImpl extends EPackageImpl implements QVTiCGModelP cgVariablePredicateEClass.getESuperTypes().add(this.getCGPredicate()); // Initialize classes and features; add operations and parameters + initEClass(cgAllInstancesOperationCallExpEClass, CGAllInstancesOperationCallExp.class, "CGAllInstancesOperationCallExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(cgEcorePropertyAssignmentEClass, CGEcorePropertyAssignment.class, "CGEcorePropertyAssignment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCGEcorePropertyAssignment_EStructuralFeature(), ecorePackage.getEStructuralFeature(), null, "eStructuralFeature", null, 1, 1, CGEcorePropertyAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractExtendingQVTiCGModelVisitor.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractExtendingQVTiCGModelVisitor.java index e8db88d46..20a8ee801 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractExtendingQVTiCGModelVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractExtendingQVTiCGModelVisitor.java @@ -41,6 +41,11 @@ public abstract class AbstractExtendingQVTiCGModelVisitor<R, C> } @Override + public @Nullable R visitCGAllInstancesOperationCallExp(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public @Nullable R visitCGEcorePropertyAssignment(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNonNullExtendingQVTiCGModelVisitor.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNonNullExtendingQVTiCGModelVisitor.java index 8d29b58ff..b1f167924 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNonNullExtendingQVTiCGModelVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNonNullExtendingQVTiCGModelVisitor.java @@ -41,6 +41,11 @@ public abstract class AbstractNonNullExtendingQVTiCGModelVisitor<R, C> } @Override + public @NonNull R visitCGAllInstancesOperationCallExp(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public @NonNull R visitCGEcorePropertyAssignment(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNullQVTiCGModelVisitor.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNullQVTiCGModelVisitor.java index a112df03c..5053ba2dd 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNullQVTiCGModelVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/AbstractNullQVTiCGModelVisitor.java @@ -37,6 +37,11 @@ public abstract class AbstractNullQVTiCGModelVisitor<R, C> } @Override + public @Nullable R visitCGAllInstancesOperationCallExp(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp object) { + return null; + } + + @Override public @Nullable R visitCGEcorePropertyAssignment(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment object) { return null; } diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelAdapterFactory.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelAdapterFactory.java index c144b1f0c..33628ad78 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelAdapterFactory.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelAdapterFactory.java @@ -19,6 +19,7 @@ import org.eclipse.ocl.examples.codegen.cgmodel.CGCallable; import org.eclipse.ocl.examples.codegen.cgmodel.CGClass; import org.eclipse.ocl.examples.codegen.cgmodel.CGElement; import org.eclipse.ocl.examples.codegen.cgmodel.CGIterationCallExp; +import org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryOperationCallExp; import org.eclipse.ocl.examples.codegen.cgmodel.CGNamedElement; import org.eclipse.ocl.examples.codegen.cgmodel.CGNavigationCallExp; import org.eclipse.ocl.examples.codegen.cgmodel.CGOperation; @@ -88,6 +89,10 @@ public class QVTiCGModelAdapterFactory extends AdapterFactoryImpl { protected QVTiCGModelSwitch<Adapter> modelSwitch = new QVTiCGModelSwitch<Adapter>() { @Override + public Adapter caseCGAllInstancesOperationCallExp(CGAllInstancesOperationCallExp object) { + return createCGAllInstancesOperationCallExpAdapter(); + } + @Override public Adapter caseCGEcorePropertyAssignment(CGEcorePropertyAssignment object) { return createCGEcorePropertyAssignmentAdapter(); } @@ -188,6 +193,18 @@ public class QVTiCGModelAdapterFactory extends AdapterFactoryImpl { return createCGValuedElementAdapter(); } @Override + public Adapter caseCGCallExp(CGCallExp object) { + return createCGCallExpAdapter(); + } + @Override + public Adapter caseCGOperationCallExp(CGOperationCallExp object) { + return createCGOperationCallExpAdapter(); + } + @Override + public Adapter caseCGLibraryOperationCallExp(CGLibraryOperationCallExp object) { + return createCGLibraryOperationCallExpAdapter(); + } + @Override public Adapter caseCGVariable(CGVariable object) { return createCGVariableAdapter(); } @@ -200,14 +217,6 @@ public class QVTiCGModelAdapterFactory extends AdapterFactoryImpl { return createCGOperationAdapter(); } @Override - public Adapter caseCGCallExp(CGCallExp object) { - return createCGCallExpAdapter(); - } - @Override - public Adapter caseCGOperationCallExp(CGOperationCallExp object) { - return createCGOperationCallExpAdapter(); - } - @Override public Adapter caseCGParameter(CGParameter object) { return createCGParameterAdapter(); } @@ -248,6 +257,20 @@ public class QVTiCGModelAdapterFactory extends AdapterFactoryImpl { /** + * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp <em>CG All Instances Operation Call Exp</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.codegen.qvticgmodel.CGAllInstancesOperationCallExp + * @generated + */ + public Adapter createCGAllInstancesOperationCallExpAdapter() { + return null; + } + + /** * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment <em>CG Ecore Property Assignment</em>}'. * <!-- begin-user-doc --> * This default implementation returns null so that we can easily ignore cases; @@ -640,6 +663,20 @@ public class QVTiCGModelAdapterFactory extends AdapterFactoryImpl { } /** + * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryOperationCallExp <em>CG Library Operation Call Exp</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.examples.codegen.cgmodel.CGLibraryOperationCallExp + * @generated + */ + public Adapter createCGLibraryOperationCallExpAdapter() { + return null; + } + + /** * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.codegen.cgmodel.CGParameter <em>CG Parameter</em>}'. * <!-- begin-user-doc --> * This default implementation returns null so that we can easily ignore cases; diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelSwitch.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelSwitch.java index d2c87adeb..058569138 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelSwitch.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelSwitch.java @@ -18,6 +18,7 @@ import org.eclipse.ocl.examples.codegen.cgmodel.CGCallable; import org.eclipse.ocl.examples.codegen.cgmodel.CGClass; import org.eclipse.ocl.examples.codegen.cgmodel.CGElement; import org.eclipse.ocl.examples.codegen.cgmodel.CGIterationCallExp; +import org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryOperationCallExp; import org.eclipse.ocl.examples.codegen.cgmodel.CGNamedElement; import org.eclipse.ocl.examples.codegen.cgmodel.CGNavigationCallExp; import org.eclipse.ocl.examples.codegen.cgmodel.CGOperation; @@ -87,6 +88,20 @@ public class QVTiCGModelSwitch<T> extends Switch<T> { @Override protected T doSwitch(int classifierID, EObject theEObject) { switch (classifierID) { + case QVTiCGModelPackage.CG_ALL_INSTANCES_OPERATION_CALL_EXP: { + CGAllInstancesOperationCallExp cgAllInstancesOperationCallExp = (CGAllInstancesOperationCallExp)theEObject; + T result = caseCGAllInstancesOperationCallExp(cgAllInstancesOperationCallExp); + if (result == null) result = caseCGLibraryOperationCallExp(cgAllInstancesOperationCallExp); + if (result == null) result = caseCGOperationCallExp(cgAllInstancesOperationCallExp); + if (result == null) result = caseCGCallExp(cgAllInstancesOperationCallExp); + if (result == null) result = caseCGValuedElement(cgAllInstancesOperationCallExp); + if (result == null) result = caseCGTypedElement(cgAllInstancesOperationCallExp); + if (result == null) result = caseCGNamedElement(cgAllInstancesOperationCallExp); + if (result == null) result = caseCGElement(cgAllInstancesOperationCallExp); + if (result == null) result = caseNameable(cgAllInstancesOperationCallExp); + if (result == null) result = defaultCase(theEObject); + return result; + } case QVTiCGModelPackage.CG_ECORE_PROPERTY_ASSIGNMENT: { CGEcorePropertyAssignment cgEcorePropertyAssignment = (CGEcorePropertyAssignment)theEObject; T result = caseCGEcorePropertyAssignment(cgEcorePropertyAssignment); @@ -327,6 +342,21 @@ public class QVTiCGModelSwitch<T> extends Switch<T> { } /** + * Returns the result of interpreting the object as an instance of '<em>CG All Instances Operation Call Exp</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>CG All Instances Operation Call Exp</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCGAllInstancesOperationCallExp(CGAllInstancesOperationCallExp object) { + return null; + } + + /** * Returns the result of interpreting the object as an instance of '<em>CG Ecore Property Assignment</em>'. * <!-- begin-user-doc --> * This implementation returns null; @@ -747,6 +777,21 @@ public class QVTiCGModelSwitch<T> extends Switch<T> { } /** + * Returns the result of interpreting the object as an instance of '<em>CG Library Operation Call Exp</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>CG Library Operation Call Exp</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCGLibraryOperationCallExp(CGLibraryOperationCallExp object) { + return null; + } + + /** * Returns the result of interpreting the object as an instance of '<em>CG Parameter</em>'. * <!-- begin-user-doc --> * This implementation returns null; diff --git a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelVisitor.java b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelVisitor.java index 449fa6706..1d72bba37 100644 --- a/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/emf-gen/org/eclipse/qvtd/codegen/qvticgmodel/util/QVTiCGModelVisitor.java @@ -24,6 +24,7 @@ import org.eclipse.jdt.annotation.Nullable; */ public interface QVTiCGModelVisitor<R> extends org.eclipse.ocl.examples.codegen.cgmodel.util.CGModelVisitor<R> { + @Nullable R visitCGAllInstancesOperationCallExp(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp object); @Nullable R visitCGEcorePropertyAssignment(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment object); @Nullable R visitCGEcoreRealizedVariable(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable object); @Nullable R visitCGFunction(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGFunction object); diff --git a/plugins/org.eclipse.qvtd.codegen/model/qvticgmodel.ecore b/plugins/org.eclipse.qvtd.codegen/model/qvticgmodel.ecore index ea7157427..38bfc4fa4 100644 --- a/plugins/org.eclipse.qvtd.codegen/model/qvticgmodel.ecore +++ b/plugins/org.eclipse.qvtd.codegen/model/qvticgmodel.ecore @@ -7,6 +7,7 @@ <eAnnotations source="http://www.eclipse.org/OCL/Import"> <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore#/"/> </eAnnotations> + <eClassifiers xsi:type="ecore:EClass" name="CGAllInstancesOperationCallExp" eSuperTypes="../../org.eclipse.ocl.examples.codegen/model/cgmodel.ecore#//CGLibraryOperationCallExp"/> <eClassifiers xsi:type="ecore:EClass" name="CGEcorePropertyAssignment" eSuperTypes="#//CGPropertyAssignment"> <eStructuralFeatures xsi:type="ecore:EReference" name="eStructuralFeature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature" diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java index f333330e2..18b090d01 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java @@ -32,6 +32,7 @@ import org.eclipse.ocl.examples.codegen.cgmodel.CGValuedElement; import org.eclipse.ocl.examples.codegen.cgmodel.CGVariable; import org.eclipse.ocl.examples.codegen.generator.GenModelException; import org.eclipse.ocl.examples.codegen.java.JavaLocalContext; +import org.eclipse.ocl.pivot.Class; import org.eclipse.ocl.pivot.CollectionType; import org.eclipse.ocl.pivot.ExpressionInOCL; import org.eclipse.ocl.pivot.Import; @@ -46,11 +47,16 @@ import org.eclipse.ocl.pivot.ParserException; import org.eclipse.ocl.pivot.Property; import org.eclipse.ocl.pivot.Type; import org.eclipse.ocl.pivot.Variable; +import org.eclipse.ocl.pivot.ids.IdManager; +import org.eclipse.ocl.pivot.ids.OperationId; import org.eclipse.ocl.pivot.ids.TypeId; +import org.eclipse.ocl.pivot.library.LibraryFeature; +import org.eclipse.ocl.pivot.library.LibraryOperation; import org.eclipse.ocl.pivot.library.LibraryProperty; import org.eclipse.ocl.pivot.utilities.ClassUtil; import org.eclipse.ocl.pivot.utilities.NameUtil; import org.eclipse.qvtd.codegen.qvti.java.QVTiGlobalContext; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -142,11 +148,14 @@ public final class QVTiAS2CGVisitor extends AS2CGVisitor implements QVTimperativ protected final @NonNull QVTiAnalyzer analyzer; protected final @NonNull QVTiGlobalContext globalContext; + protected final @NonNull OperationId allInstancesOperationId; public QVTiAS2CGVisitor(@NonNull QVTiAnalyzer analyzer, @NonNull QVTiGlobalContext globalContext) { super(analyzer); this.analyzer = analyzer; this.globalContext = globalContext; + Class oclElementType = metamodelManager.getStandardLibrary().getOclElementType(); + this.allInstancesOperationId = oclElementType.getTypeId().getOperationId(0, "allInstances", IdManager.getParametersId()); } protected void doBottoms(@NonNull Mapping pMapping, @NonNull CGMappingExp cgMappingExp) { @@ -552,12 +561,12 @@ public final class QVTiAS2CGVisitor extends AS2CGVisitor implements QVTimperativ @Override public @NonNull CGValuedElement visitOperationCallExp(@NonNull OperationCallExp asOperationCallExp) { - Operation pOperation = asOperationCallExp.getReferredOperation(); - if (pOperation instanceof Function) { + Operation asOperation = asOperationCallExp.getReferredOperation(); + if (asOperation instanceof Function) { CGFunctionCallExp cgFunctionCallExp = QVTiCGModelFactory.eINSTANCE.createCGFunctionCallExp(); - cgFunctionCallExp.setReferredOperation(pOperation); + cgFunctionCallExp.setReferredOperation(asOperation); setAst(cgFunctionCallExp, asOperationCallExp); - cgFunctionCallExp.setRequired(pOperation.isRequired()); + cgFunctionCallExp.setRequired(asOperation.isRequired()); for (OCLExpression pArgument : asOperationCallExp.getOwnedArguments()) { CGValuedElement cgArgument = doVisit(CGValuedElement.class, pArgument); cgFunctionCallExp.getArguments().add(cgArgument); @@ -565,6 +574,16 @@ public final class QVTiAS2CGVisitor extends AS2CGVisitor implements QVTimperativ // cgOperationCallExp.setOperation(getOperation(asOperationCallExp.getReferredOperation())); return cgFunctionCallExp; } + else if (asOperation.getOperationId() == allInstancesOperationId) { + OCLExpression pSource = asOperationCallExp.getOwnedSource(); + CGValuedElement cgSource = pSource != null ? doVisit(CGValuedElement.class, pSource) : null; + LibraryFeature libraryOperation = metamodelManager.getImplementation(asOperation); + CGAllInstancesOperationCallExp cgAllInstancesOperationCallExp = QVTiCGModelFactory.eINSTANCE.createCGAllInstancesOperationCallExp(); + cgAllInstancesOperationCallExp.setSource(cgSource); + cgAllInstancesOperationCallExp.setLibraryOperation((LibraryOperation) libraryOperation); + setAst(cgAllInstancesOperationCallExp, asOperationCallExp); + return cgAllInstancesOperationCallExp; + } else { return super.visitOperationCallExp(asOperationCallExp); } diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAnalysisVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAnalysisVisitor.java index 234762850..e95301316 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAnalysisVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAnalysisVisitor.java @@ -15,6 +15,7 @@ import org.eclipse.ocl.examples.codegen.analyzer.AnalysisVisitor; import org.eclipse.ocl.examples.codegen.generator.GlobalContext; import org.eclipse.ocl.examples.codegen.generator.LocalContext; import org.eclipse.ocl.pivot.OperationCallExp; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -45,6 +46,11 @@ public class QVTiAnalysisVisitor extends AnalysisVisitor implements QVTiCGModelV } @Override + public Object visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public Object visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiBoxingAnalyzer.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiBoxingAnalyzer.java index b5ff82a72..4ac3f84d1 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiBoxingAnalyzer.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiBoxingAnalyzer.java @@ -13,6 +13,7 @@ package org.eclipse.qvtd.codegen.qvti.analyzer; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.ocl.examples.codegen.analyzer.BoxingAnalyzer; import org.eclipse.ocl.examples.codegen.cgmodel.CGValuedElement; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -44,6 +45,11 @@ public class QVTiBoxingAnalyzer extends BoxingAnalyzer implements QVTiCGModelVis } @Override + public Object visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public Object visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment cgEcorePropertyAssignment) { rewriteAsUnboxed(cgEcorePropertyAssignment.getSlotValue()); rewriteAsUnboxed(cgEcorePropertyAssignment.getInitValue()); diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiCG2StringVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiCG2StringVisitor.java index 67f9b70c5..68da98082 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiCG2StringVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiCG2StringVisitor.java @@ -16,6 +16,7 @@ import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.examples.codegen.analyzer.CG2StringVisitor; import org.eclipse.ocl.examples.codegen.cgmodel.CGValuedElement; import org.eclipse.ocl.examples.codegen.cgmodel.CGVariableExp; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -66,8 +67,12 @@ public class QVTiCG2StringVisitor extends CG2StringVisitor implements QVTiCGMode public QVTiCG2StringVisitor() {} @Override - @Nullable - public String visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment object) { + public @Nullable String visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override + public @Nullable String visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiDependencyVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiDependencyVisitor.java index e2e74a2ed..bb97db7ec 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiDependencyVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiDependencyVisitor.java @@ -14,6 +14,7 @@ import org.eclipse.jdt.annotation.NonNull; import org.eclipse.ocl.examples.codegen.cse.GlobalPlace; import org.eclipse.ocl.examples.codegen.java.JavaDependencyVisitor; import org.eclipse.qvtd.codegen.qvti.java.QVTiGlobalContext; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -43,6 +44,11 @@ public class QVTiDependencyVisitor extends JavaDependencyVisitor implements QVTi } @Override + public Object visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public Object visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiFieldingAnalyzer.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiFieldingAnalyzer.java index 0608e166d..fa123f6f8 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiFieldingAnalyzer.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiFieldingAnalyzer.java @@ -17,6 +17,7 @@ import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.examples.codegen.analyzer.FieldingAnalyzer; import org.eclipse.ocl.examples.codegen.cgmodel.CGIterator; import org.eclipse.ocl.examples.codegen.cgmodel.CGVariable; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -48,6 +49,11 @@ public class QVTiFieldingAnalyzer extends FieldingAnalyzer } @Override + public @Nullable Set<CGVariable> visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public @Nullable Set<CGVariable> visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } @@ -155,6 +161,11 @@ public class QVTiFieldingAnalyzer extends FieldingAnalyzer } @Override + public Boolean visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public Boolean visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiReferencesVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiReferencesVisitor.java index 011bbc016..b6e5e92b2 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiReferencesVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiReferencesVisitor.java @@ -15,6 +15,7 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.examples.codegen.analyzer.ReferencesVisitor; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGMappingExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGMappingLoop; import org.eclipse.qvtd.codegen.qvticgmodel.CGSequence; @@ -36,6 +37,11 @@ public class QVTiReferencesVisitor extends ReferencesVisitor implements QVTiCGMo } @Override + public @Nullable List<Object> visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public @Nullable List<Object> visitCGEcorePropertyAssignment(@NonNull org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java index 3911f6924..2006158fb 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java @@ -19,6 +19,7 @@ import org.eclipse.ocl.examples.codegen.analyzer.DependencyVisitor; import org.eclipse.ocl.examples.codegen.cgmodel.CGValuedElement; import org.eclipse.ocl.examples.codegen.java.CG2JavaPreVisitor; import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -48,6 +49,11 @@ public class QVTiCG2JavaPreVisitor extends CG2JavaPreVisitor implements QVTiCGMo } @Override + public Object visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public Object visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment object) { return visitCGPropertyAssignment(object); } diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java index cdf468369..4d6ac9ef8 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java @@ -50,6 +50,7 @@ import org.eclipse.ocl.pivot.utilities.ClassUtil; import org.eclipse.ocl.pivot.utilities.NameUtil; import org.eclipse.ocl.pivot.utilities.ValueUtil; import org.eclipse.qvtd.codegen.qvti.analyzer.QVTiAnalyzer; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; @@ -505,6 +506,11 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor<QVTiCodeGenerator> implem } @Override + public @NonNull Boolean visitCGAllInstancesOperationCallExp(@NonNull CGAllInstancesOperationCallExp object) { + return visitCGLibraryOperationCallExp(object); + } + + @Override public @NonNull Boolean visitCGEcorePropertyAssignment(@NonNull CGEcorePropertyAssignment cgPropertyAssignment) { // Property pivotProperty = cgPropertyCallExp.getReferredProperty(); // CGTypeId cgTypeId = analyzer.getTypeId(pivotProperty.getOwningType().getTypeId()); diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/modelspecs/QVTdCGValuedElementModelSpec.java b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/modelspecs/QVTdCGValuedElementModelSpec.java index aeffe36d5..1c321d5bf 100644 --- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/modelspecs/QVTdCGValuedElementModelSpec.java +++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/modelspecs/QVTdCGValuedElementModelSpec.java @@ -17,6 +17,7 @@ import org.eclipse.ocl.examples.build.modelspecs.CGValuedElementModelSpec; import org.eclipse.ocl.examples.codegen.cgmodel.CGInvalid; import org.eclipse.ocl.examples.codegen.java.ImportUtils; import org.eclipse.qvtd.codegen.qvti.cse.PredicatePlaces; +import org.eclipse.qvtd.codegen.qvticgmodel.CGAllInstancesOperationCallExp; import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction; import org.eclipse.qvtd.codegen.qvticgmodel.CGFunctionCallExp; @@ -87,6 +88,8 @@ public class QVTdCGValuedElementModelSpec extends CGValuedElementModelSpec new QVTdCGValuedElementModelSpec(CGRealizedVariable.class, null, Box.FALSE, null , null , Nul.NEVER, null , Glo.FALSE, null , null , null , null , null , null , null , null , null , null , null ); new QVTdCGValuedElementModelSpec(CGEcoreRealizedVariable.class, null, null , null , null , Nul.ASSRT, null , null , null , null , null , null , null , null , null , null , null , null , null ); + new QVTdCGValuedElementModelSpec(CGAllInstancesOperationCallExp.class, null, null, null , null , null , null , null , null , null , null , null , null , null , null , null , Com.FALSE, null , null ); + new QVTdCGValuedElementModelSpec(CGFunctionCallExp.class, null, Box.FALSE, null , null , null , null , Glo.FALSE, null , null , null , null , null , null , null , null , null , null , null ); new QVTdCGValuedElementModelSpec(CGFunctionParameter.class, null, Box.FALSE, null , null , null , null , Glo.FALSE, null , null , null , null , null , null , null , null , null , null , null ); new QVTdCGValuedElementModelSpec(CGMappingCallBinding.class, "value", Box.DELEG, null , null , null , null , Glo.FALSE, null , null , null , null , null , null , null , null , Com.FALSE, null , Eq.SELF ); diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/classescs2as.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/classescs2as.java index 65aa0c74c..0592ca525 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/classescs2as.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/classescs2as.java @@ -660,16 +660,6 @@ public class classescs2as extends AbstractTransformationExecutor * packageCS := packageCS; * package := package; * }}} - * for package : classes::Package in classes::Package.allInstances() - * { - * - * for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances() - * { - * - * map uPackage_ownedClasses { - * packageCS := packageCS; - * package := package; - * }}} * for classCS : classescs::ClassCS in classescs::ClassCS.allInstances() * { * map mClassCS2Class_LM { @@ -680,6 +670,16 @@ public class classescs2as extends AbstractTransformationExecutor * map mClassCS2Class_MR { * c2c := c2c; * }} + * for package : classes::Package in classes::Package.allInstances() + * { + * + * for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances() + * { + * + * map uPackage_ownedClasses { + * packageCS := packageCS; + * package := package; + * }}} * for classCS : classescs::ClassCS in classescs::ClassCS.allInstances() * { * @@ -721,16 +721,16 @@ public class classescs2as extends AbstractTransformationExecutor final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescstraces_c_c_ClassCS2Class_0 = idResolver.getClass(CLSSid_ClassCS2Class, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescstraces_c_c_PackageCS2Package_0 = idResolver.getClass(CLSSid_PackageCS2Package, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescstraces_c_c_RootCS2Root_0 = idResolver.getClass(CLSSid_RootCS2Root, null); - final @NonNull /*@Thrown*/ SetValue allInstances_3 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Package, TYP_classes_c_c_Package_1); - final @NonNull /*@Thrown*/ SetValue allInstances_7 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassCS, TYP_classescs_c_c_ClassCS_1); - final @NonNull /*@Thrown*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_0); - final @NonNull /*@Thrown*/ SetValue allInstances_11 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_RootCS, TYP_classescs_c_c_RootCS_1); - final List<Package> UNBOXED_allInstances_3 = allInstances_3.asEcoreObjects(idResolver, Package.class); - assert UNBOXED_allInstances_3 != null; + final @Nullable /*@Thrown*/ SetValue allInstances_5 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Package, TYP_classes_c_c_Package_1); + final List<Package> UNBOXED_allInstances_5 = allInstances_5.asEcoreObjects(idResolver, Package.class); + assert UNBOXED_allInstances_5 != null; + final @Nullable /*@Thrown*/ SetValue allInstances_7 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassCS, TYP_classescs_c_c_ClassCS_1); final List<ClassCS> UNBOXED_allInstances_7 = allInstances_7.asEcoreObjects(idResolver, ClassCS.class); assert UNBOXED_allInstances_7 != null; + final @Nullable /*@Thrown*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_0); final List<PackageCS> UNBOXED_allInstances = allInstances.asEcoreObjects(idResolver, PackageCS.class); assert UNBOXED_allInstances != null; + final @Nullable /*@Thrown*/ SetValue allInstances_11 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_RootCS, TYP_classescs_c_c_RootCS_1); final List<RootCS> UNBOXED_allInstances_11 = allInstances_11.asEcoreObjects(idResolver, RootCS.class); assert UNBOXED_allInstances_11 != null; // creations @@ -743,7 +743,7 @@ public class classescs2as extends AbstractTransformationExecutor mPackageCS2Package_LM(symbol_7); } } - final @NonNull /*@Thrown*/ SetValue allInstances_0 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS2Package, TYP_classescstraces_c_c_PackageCS2Package_0); + final @Nullable /*@Thrown*/ SetValue allInstances_0 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS2Package, TYP_classescstraces_c_c_PackageCS2Package_0); final List<PackageCS2Package> UNBOXED_allInstances_0 = allInstances_0.asEcoreObjects(idResolver, PackageCS2Package.class); assert UNBOXED_allInstances_0 != null; ; @@ -754,7 +754,7 @@ public class classescs2as extends AbstractTransformationExecutor } } ; - for (Package symbol_21 : UNBOXED_allInstances_3) { + for (Package symbol_21 : UNBOXED_allInstances_5) { if (symbol_21 != null) { ; for (PackageCS packageCS_6 : UNBOXED_allInstances) { @@ -767,40 +767,40 @@ public class classescs2as extends AbstractTransformationExecutor } } ; - for (Package symbol_29 : UNBOXED_allInstances_3) { - if (symbol_29 != null) { - ; - for (PackageCS packageCS_7 : UNBOXED_allInstances) { - if (packageCS_7 != null) { - final @NonNull /*@NonInvalid*/ Package symbol_24 = (Package)symbol_29; - final @NonNull /*@NonInvalid*/ PackageCS symbol_25 = (PackageCS)packageCS_7; - uPackage_ownedClasses(symbol_24, symbol_25); - } - } - } - } - ; for (ClassCS classCS_3 : UNBOXED_allInstances_7) { if (classCS_3 != null) { - final @NonNull /*@NonInvalid*/ ClassCS symbol_31 = (ClassCS)classCS_3; - mClassCS2Class_LM(symbol_31); + final @NonNull /*@NonInvalid*/ ClassCS symbol_23 = (ClassCS)classCS_3; + mClassCS2Class_LM(symbol_23); } } - final @NonNull /*@Thrown*/ SetValue allInstances_6 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassCS2Class, TYP_classescstraces_c_c_ClassCS2Class_0); - final List<ClassCS2Class> UNBOXED_allInstances_6 = allInstances_6.asEcoreObjects(idResolver, ClassCS2Class.class); - assert UNBOXED_allInstances_6 != null; + final @Nullable /*@Thrown*/ SetValue allInstances_4 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassCS2Class, TYP_classescstraces_c_c_ClassCS2Class_0); + final List<ClassCS2Class> UNBOXED_allInstances_4 = allInstances_4.asEcoreObjects(idResolver, ClassCS2Class.class); + assert UNBOXED_allInstances_4 != null; ; - for (ClassCS2Class c2c_1 : UNBOXED_allInstances_6) { + for (ClassCS2Class c2c_1 : UNBOXED_allInstances_4) { if (c2c_1 != null) { - final @NonNull /*@NonInvalid*/ ClassCS2Class symbol_35 = (ClassCS2Class)c2c_1; - mClassCS2Class_MR(symbol_35); + final @NonNull /*@NonInvalid*/ ClassCS2Class symbol_27 = (ClassCS2Class)c2c_1; + mClassCS2Class_MR(symbol_27); + } + } + ; + for (Package symbol_37 : UNBOXED_allInstances_5) { + if (symbol_37 != null) { + ; + for (PackageCS packageCS_7 : UNBOXED_allInstances) { + if (packageCS_7 != null) { + final @NonNull /*@NonInvalid*/ Package symbol_32 = (Package)symbol_37; + final @NonNull /*@NonInvalid*/ PackageCS symbol_33 = (PackageCS)packageCS_7; + uPackage_ownedClasses(symbol_32, symbol_33); + } + } } } ; for (ClassCS classCS_4 : UNBOXED_allInstances_7) { if (classCS_4 != null) { final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null); - final @NonNull /*@Thrown*/ SetValue allInstances_8 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Class, TYP_classes_c_c_Class_0); + final @Nullable /*@Thrown*/ SetValue allInstances_8 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Class, TYP_classes_c_c_Class_0); final List<classes.Class> UNBOXED_allInstances_8 = allInstances_8.asEcoreObjects(idResolver, classes.Class.class); assert UNBOXED_allInstances_8 != null; ; @@ -820,7 +820,7 @@ public class classescs2as extends AbstractTransformationExecutor mRootCS2Root_LM(symbol_47); } } - final @NonNull /*@Thrown*/ SetValue allInstances_10 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_RootCS2Root, TYP_classescstraces_c_c_RootCS2Root_0); + final @Nullable /*@Thrown*/ SetValue allInstances_10 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_RootCS2Root, TYP_classescstraces_c_c_RootCS2Root_0); final List<RootCS2Root> UNBOXED_allInstances_10 = allInstances_10.asEcoreObjects(idResolver, RootCS2Root.class); assert UNBOXED_allInstances_10 != null; ; @@ -834,7 +834,7 @@ public class classescs2as extends AbstractTransformationExecutor for (RootCS rootCS_4 : UNBOXED_allInstances_11) { if (rootCS_4 != null) { final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Root_0 = idResolver.getClass(CLSSid_Root, null); - final @NonNull /*@Thrown*/ SetValue allInstances_12 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Root, TYP_classes_c_c_Root_0); + final @Nullable /*@Thrown*/ SetValue allInstances_12 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Root, TYP_classes_c_c_Root_0); final List<Root> UNBOXED_allInstances_12 = allInstances_12.asEcoreObjects(idResolver, Root.class); assert UNBOXED_allInstances_12 != null; ; diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java index e3825b666..8cdd01ba9 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java @@ -128,7 +128,7 @@ public class hsv2hls extends AbstractTransformationExecutor // creations // assignments // mapping statements - final @NonNull /*@Thrown*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_HSVNode, TYP_HSVTree_c_c_HSVNode_0); + final @Nullable /*@Thrown*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_HSVNode, TYP_HSVTree_c_c_HSVNode_0); final List<HSVNode> UNBOXED_allInstances = allInstances.asEcoreObjects(idResolver, HSVNode.class); assert UNBOXED_allInstances != null; ; diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/umlRdbms.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/umlRdbms.java index 186bbf893..4aca01dca 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/umlRdbms.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/umlRdbms.java @@ -199,7 +199,7 @@ public class umlRdbms extends AbstractTransformationExecutor // creations // assignments // mapping statements - final @NonNull /*@Thrown*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Package, TYP_simpleuml_c_c_Package_0); + final @Nullable /*@Thrown*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Package, TYP_simpleuml_c_c_Package_0); final List<Package> UNBOXED_allInstances = allInstances.asEcoreObjects(idResolver, Package.class); assert UNBOXED_allInstances != null; ; |