blob: 11ce6a0698727a3a1b5e2c25d29e117f0efd934a [file] [log] [blame]
--import qvtb : 'platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#/';
--import ocl : 'platform:/resource/org.eclipse.ocl.pivot/model/OCL-2.5.oclstdlib';
import ocl : 'platform:/resource/org.eclipse.ocl.pivot/model/Pivot.ecore#/';
library qvtruntimelibrary : qvtrtlib = 'http://www.eclipse.org/qvt/2019/QVTruntimeLibrary'
{
type PseudoOperations : Class {
/**
* The PseudoOperations::collection(items) pseudo-operation provides items to allow a collection construction to be treated
* as an Operation within QVTs.
*/
static operation collection(T)(items : ocl::CollectionItem[*]) : ocl::CollectionLiteralExp[1];
/**
* The PseudoOperations::error(elements) pseudo-operation provides parameters to allow an error construction to be treated
* as an Operation within QVTs.
*/
static operation error(T)(elements : ocl::Element[*]) : ocl::OclVoid[1];
/**
* The PseudoOperations::if(condition, then, else) pseudo-operation provides parameters to allow an IfExp to be treated
* as an Operation within QVTs.
*/
static operation _'if'(T)(condition : T[?]/*ocl::Boolean[1]*/, _'then' : T[?], _'else' : T[?]) : T[?];
/**
* The PseudoOperations::loop(source, iterators, body) pseudo-operation provides parameters to allow a LoopExp to be treated
* as an Operation within QVTs.
*/
static operation loop(E)(source : ocl::OCLExpression[1], iterators : E[*], _'body' : ocl::OCLExpression[1]) : ocl::OclAny[?];
/**
* The PseudoOperations::map(parts) pseudo-operation provides parameters to allow a map construction to be treated
* as an Operation within QVTs.
*/
static operation map(T)(parts : ocl::Property[*]) : ocl::MapLiteralExp[1];
/**
* The PseudoOperations::mapPart(key, value) pseudo-operation provides parameters to allow a MapLiteralPart to be treated
* as an Operation within QVTs.
*/
static operation mapPart(K,V)(key : K[?], value : V[?]) : ocl::MapLiteralPart[1];
/**
* The PseudoOperations::range(first, last) pseudo-operation provides parameters to allow a CollectionRange to be treated
* as an Operation within QVTs.
*/
static operation range(T)(first : T[?], last : T[?]) : ocl::CollectionRange[1];
/**
* The PseudoOperations::shadow(parts) pseudo-operation provides parameters to allow a shadow Class construction to be treated
* as an Operation within QVTs.
*/
static operation shadow(T)(parts : ocl::Property[*]) : ocl::ShadowExp[1];
/**
* The PseudoOperations::tuple(parts) pseudo-operation provides parameters to allow a tuple construction to be treated
* as an Operation within QVTs.
*/
static operation tuple(T)(parts : ocl::TupleLiteralPart[*]) : ocl::TupleLiteralExp[1];
/**
* The PseudoOperations::type(value) pseudo-operation provides parameters to allow a Type to be treated
* as an Operation within QVTs.
*/
static operation _'type'(V)(_'type' : V[?]) : ocl::TypeExp[1];
}
type Extent : Class {
property elements : ocl::OrderedSet(ocl::OclElement) opposite extent : Extent[?];
}
type Model : TypedModel {}
type Transformation : Transformation {}
}