| import 'Pivot.ecore' |
| |
| package ocl |
| /* |
| context AssociationClassCallExp |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self, source} |
| def: referredElements() : Set(Element) = Set{referredAssociationClass} |
| |
| context IfExp |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self, condition, thenExpression, elseExpression} |
| |
| context IterateExp |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self, _'body', result.initExpression}->union(iterator.initExpression)->excluding(null) |
| |
| context IteratorExp |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self, _'body'}->union(iterator.initExpression)->excluding(null) |
| |
| context LetExp |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self, variable.initExpression, _'in'} |
| |
| context LoopExp |
| def: referredElements() : Set(Element) = Set{referredIteration} |
| |
| context OCLExpression |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self} |
| --def: allTemplateBindings() : Set(TemplateBinding) = allOCLExpressions().referredElements().templateBindings |
| def: referredElements() : Set(Element) = Set{} |
| |
| context OperationCallExp |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self, source}->union(argument) |
| def: referredElements() : Set(Element) = Set{referredOperation} |
| |
| context PropertyCallExp |
| def: allOCLExpressions() : Set(OCLExpression) = Set{self, source} |
| def: referredElements() : Set(Element) = Set{referredProperty} |
| |
| context TypeExp |
| def: referredElements() : Set(Element) = Set{referredType} |
| |
| context VariableExp |
| def: referredElements() : Set(Element) = Set{referredVariable} |
| */ |
| context SelfType |
| def: specializeIn(expr : CallExp, selfType : Type) : Type = selfType |
| |
| context Type |
| def: specializeIn(expr : CallExp, selfType : Type) : Type = self |
| |
| endpackage |