| import 'CS.ecore' |
| import 'AS.ecore' |
| import 'Environment.ecore' |
| |
| package env |
| context Environment |
| def : nestedEnv() : Environment = |
| null |
| |
| def : addElement(element : OclAny) : Environment = |
| null |
| endpackage |
| |
| package ocl |
| context OclElement |
| |
| def : env : env::Environment = |
| if oclContainer() <> null |
| then oclContainer().childEnv(self) |
| else env::Environment{} |
| endif |
| |
| def : childEnv(child : OclAny) : env::Environment = |
| env |
| |
| |
| endpackage |
| |
| package oclAS |
| context LetExp |
| def : childEnv(child : OclAny) : env::Environment = |
| if child = variable |
| then env |
| else env.nestedEnv().addElement(variable) |
| endif |
| |
| |
| context OclExpression |
| def : lookupVariable(name : String ) : Variable = |
| null |
| |
| def : lookupProperty(name : String ) : Property = |
| null |
| |
| endpackage |