blob: 36806665ef73ed322659a0ef9f25b1c9bac767ba [file] [log] [blame]
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