| import qvtocs : 'QVTOperationalCS.ecore#/' |
| import basecs : '/resource/org.eclipse.ocl.xtext.base/model/BaseCS.ecore#/' |
| import qvto : '/resource/org.eclipse.qvto.examples.pivot.qvtoperational/model/QVTOperational.ecore#/' |
| import ocl : '/resource/org.eclipse.ocl.pivot/model/Pivot.ecore#/' |
| --import '/resource/org.eclipse.ocl.xtext.base/model/BaseCS2AS.ocl' |
| import '/resource/org.eclipse.qvto.examples.pivot.qvtoperational/model/QVTOperationalCS2ASHelpers.ocl' -- Moved to the AS project |
| import '/resource/org.eclipse.qvto.examples.pivot.qvtoperational/model/QVTOperationalCS2ASLookup.ocl' -- Moved to the AS project |
| import 'QVTOperationalCS2ASDisambiguation.ocl' |
| package qvtocs |
| |
| /*context TopLevelCS |
| def : ast() : ocl::Model = |
| ocl::Model { |
| ownedPackages = let dummyPackage = ocl::Package{ |
| -- Part temporarily addded by hand |
| name = '', |
| ownedClasses = ownedTypes.ast().oclAsType(ocl::Class) -- FIXME |
| } |
| in dummyPackage->includingAll(ownedPackages.ast()) |
| } |
| context QVToClassCS |
| def : ast() : ocl::Class = |
| ocl::Class { |
| name = name, |
| ownedProperties = ownedProperties.ast().oclAsType(ocl::Property), |
| ownedOperations = ownedOperations.ast() |
| } |
| context MetamodelCS |
| def : ast() : ocl::Package = |
| ocl::Package { |
| name = name, |
| nsPrefix = name, |
| URI = name, |
| ownedClasses = ownedClasses.ast() |
| } |
| context ModelTypeCS |
| def : ast() : qvto::ModelType = |
| qvto::ModelType { |
| name = name |
| } |
| context ClassifierPropertyCS |
| def : ast() : ocl::Property = |
| ocl::Property { |
| name = name, |
| isComposite = qualifiers->exists(x | x = 'composite') |
| } |
| context MappingOperationCS |
| def : ast() : qvto::MappingOperation = |
| qvto::MappingOperation { |
| name = name, |
| ownedParameters = ownedParameters.ast() |
| } |
| context TransformationCS |
| def : ast() : qvto::OperationalTransformation = |
| qvto::OperationalTransformation { |
| name = name, |
| modelParameter = ownedParameters.ast().oclAsType(qvto::ModelParameter), |
| ownedOperations = ownedOperations.ast(), |
| isBlackbox = ownedQualifiers->exists(x | x = QualifierKindCS::blackbox), |
| isAbstract = ownedQualifiers->exists(x | x = QualifierKindCS::abstract) |
| } |
| context ParameterDeclarationCS |
| def : ast() : qvto::VarParameter = |
| if containedInModule() |
| then qvto::ModelParameter { |
| name = name, |
| type = ast().lookupModelType(self.ownedType.oclAsType(TypedTypeRef2CS).ownedPathName) |
| } |
| else |
| if notContainedInModule() |
| then qvto::VarParameter { |
| name = name |
| } |
| else |
| invalid |
| endif |
| endif |
| context QVToLibraryCS |
| def : ast() : qvto::Library = |
| qvto::Library { |
| name = name, |
| ownedOperations = ownedOperations.ast(), |
| usedModelType = ownedParameters->collect(x | ast().lookupModelType(x.ownedType.oclAsType(TypedTypeRef2CS).ownedPathName)), |
| isBlackbox = ownedQualifiers->exists(x | x = QualifierKindCS::blackbox) |
| } */ |
| endpackage |