コード例 #1
0
        public string TranslateExpression(OclExpression expression)
        {
            OperationHelper           = new OperationHelper();
            OperationHelper.PSMSchema = Bridge.Schema;
            OperationHelper.Log       = Log;
            OperationHelper.ExplicitCastAtomicOperands = !Settings.SchemaAware;
            OperationHelper.PSMBridge = Bridge;
            OperationHelper.InitStandard();
            TranslatedOclExpression   = expression;
            VariableNamer             = new VariableNamer();
            SubexpressionTranslations = new SubexpressionTranslations {
                XPathContextVariableReplacementMode = ContextVariableReplacementMode
            };
            SubexpressionTranslations.Log = Log;
            expression.Accept(this);
            SubexpressionTranslations.SelfVariableDeclaration = OclContext.Self;
            string result = SubexpressionTranslations.GetSubexpressionTranslation(expression).GetString(true);

            return(result);
        }