Esempio n. 1
0
        internal override CodeStatement Clone()
        {
            CodeExpressionStatement newStatement = new CodeExpressionStatement();

            newStatement.Expression = RuleExpressionWalker.Clone(exprStatement.Expression);
            return(newStatement);
        }
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeBinaryOperatorExpression expression2 = (CodeBinaryOperatorExpression)expression;

            return(new CodeBinaryOperatorExpression {
                Operator = expression2.Operator, Left = RuleExpressionWalker.Clone(expression2.Left), Right = RuleExpressionWalker.Clone(expression2.Right)
            });
        }
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeDirectionExpression expression2 = (CodeDirectionExpression)expression;

            return(new CodeDirectionExpression {
                Direction = expression2.Direction, Expression = RuleExpressionWalker.Clone(expression2.Expression)
            });
        }
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeFieldReferenceExpression expression2 = (CodeFieldReferenceExpression)expression;

            return(new CodeFieldReferenceExpression {
                FieldName = expression2.FieldName, TargetObject = RuleExpressionWalker.Clone(expression2.TargetObject)
            });
        }
        public override RuleCondition Clone()
        {
            RuleExpressionCondition condition = (RuleExpressionCondition)base.MemberwiseClone();

            condition._runtimeInitialized = false;
            condition._expression         = RuleExpressionWalker.Clone(this._expression);
            return(condition);
        }
Esempio n. 6
0
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodePropertyReferenceExpression expression2 = (CodePropertyReferenceExpression)expression;

            return(new CodePropertyReferenceExpression {
                PropertyName = expression2.PropertyName, TargetObject = RuleExpressionWalker.Clone(expression2.TargetObject)
            });
        }
Esempio n. 7
0
        internal override CodeStatement Clone()
        {
            CodeAssignStatement newStatement = new CodeAssignStatement();

            newStatement.Left  = RuleExpressionWalker.Clone(assignStatement.Left);
            newStatement.Right = RuleExpressionWalker.Clone(assignStatement.Right);
            return(newStatement);
        }
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeArrayIndexerExpression expression2  = (CodeArrayIndexerExpression)expression;
            CodeExpression             targetObject = RuleExpressionWalker.Clone(expression2.TargetObject);

            CodeExpression[] indices = new CodeExpression[expression2.Indices.Count];
            for (int i = 0; i < indices.Length; i++)
            {
                indices[i] = RuleExpressionWalker.Clone(expression2.Indices[i]);
            }
            return(new CodeArrayIndexerExpression(targetObject, indices));
        }
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeObjectCreateExpression expression2 = (CodeObjectCreateExpression)expression;
            CodeObjectCreateExpression expression3 = new CodeObjectCreateExpression {
                CreateType = TypeReferenceExpression.CloneType(expression2.CreateType)
            };

            foreach (CodeExpression expression4 in expression2.Parameters)
            {
                expression3.Parameters.Add(RuleExpressionWalker.Clone(expression4));
            }
            return(expression3);
        }
Esempio n. 10
0
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeMethodInvokeExpression expression2 = (CodeMethodInvokeExpression)expression;
            CodeMethodInvokeExpression expression3 = new CodeMethodInvokeExpression {
                Method = CloneMethodReference(expression2.Method)
            };

            foreach (CodeExpression expression4 in expression2.Parameters)
            {
                expression3.Parameters.Add(RuleExpressionWalker.Clone(expression4));
            }
            return(expression3);
        }
Esempio n. 11
0
        private static CodeMethodReferenceExpression CloneMethodReference(CodeMethodReferenceExpression oldReference)
        {
            CodeMethodReferenceExpression result = new CodeMethodReferenceExpression {
                MethodName   = oldReference.MethodName,
                TargetObject = RuleExpressionWalker.Clone(oldReference.TargetObject)
            };

            foreach (CodeTypeReference reference in oldReference.TypeArguments)
            {
                result.TypeArguments.Add(TypeReferenceExpression.CloneType(reference));
            }
            ConditionHelper.CloneUserData(oldReference, result);
            return(result);
        }
Esempio n. 12
0
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeArrayCreateExpression expression2 = (CodeArrayCreateExpression)expression;
            CodeArrayCreateExpression expression3 = new CodeArrayCreateExpression {
                CreateType = TypeReferenceExpression.CloneType(expression2.CreateType),
                Size       = expression2.Size
            };

            if (expression2.SizeExpression != null)
            {
                expression3.SizeExpression = RuleExpressionWalker.Clone(expression2.SizeExpression);
            }
            foreach (CodeExpression expression4 in expression2.Initializers)
            {
                expression3.Initializers.Add(RuleExpressionWalker.Clone(expression4));
            }
            return(expression3);
        }
Esempio n. 13
0
        internal override CodeExpression Clone(CodeExpression expression)
        {
            CodeCastExpression expression2 = (CodeCastExpression)expression;

            return(new CodeCastExpression {
                TargetType = TypeReferenceExpression.CloneType(expression2.TargetType), Expression = RuleExpressionWalker.Clone(expression2.Expression)
            });
        }
Esempio n. 14
0
 internal override CodeStatement Clone()
 {
     return(new CodeAssignStatement {
         Left = RuleExpressionWalker.Clone(this.assignStatement.Left), Right = RuleExpressionWalker.Clone(this.assignStatement.Right)
     });
 }
 internal override CodeStatement Clone()
 {
     return(new CodeExpressionStatement {
         Expression = RuleExpressionWalker.Clone(this.exprStatement.Expression)
     });
 }