9.3.1 ExpressionInOclCS
ExpressionInOcl符号被用来设置表达式的初始环境。
ExpressionInOclCS ::= OclExpressionCS
抽象语法映射
ExpressionInOclCS.ast : OclExpression
合成的属性
ExpressionInOclCS.ast = OclExpressionCS.ast
继承的属性
OCL表达式的环境必须被定义,但是环境中需要有什么取决于OCL表达式的上下文。因此,下面的规则不是完整的。它通过把self变量以及一个包含所有从self可见的元素的命名空间加到一个空环境定义了env属性。在子章节12.2,contexturalClassifer将会被定义用于一个OCL表达式可能会出现的不同地方。在一个前置或后置条件的上下文中,结果变量以及任意命名的操作参数的变量定义都可以以这种方式被添加。
OclExpressionCS.env =
ExpressionInOclCS.contextualClassifier.namespace.getEnvironmentWithParents()
.addElement (‘self’, ExpressionInOclCS.contextualClassifier, true)