예제 #1
0
        protected virtual EXPR_ITEM CloneExprItem(openehr.openehr.am.archetype.assertion.EXPR_BINARY_OPERATOR o)
        {
            EXPR_BINARY_OPERATOR result = new EXPR_BINARY_OPERATOR();

            if (o.type() != null)
            {
                result.type = o.type().ToString();
            }

            result.precedence_overridden = o.precedence_overridden();

            if (o.@operator().value() >= 2001 && o.@operator().value() <= 2020)
            {
                result.@operator = ((OPERATOR_KIND)o.@operator().value()) - 2001;
            }

            if (o.left_operand() != null)
            {
                result.left_operand = CloneExprItem(o.left_operand());
            }

            if (o.right_operand() != null)
            {
                result.right_operand = CloneExprItem(o.right_operand());
            }

            return(result);
        }
예제 #2
0
        private static ExprBinaryOperator Map(this EXPR_BINARY_OPERATOR model)
        {
            var binary = new ExprBinaryOperator
            {
                IsPrecedenceOverriden = model.precedence_overridden,
                Operator     = (OperatorKind)((int)model.@operator),
                LeftOperand  = model.left_operand.Map(),
                RightOperand = model.right_operand.Map()
            };

            return(binary);
        }