public void IdentifierOnlyInvocation() { // InitializeComponents(); IdentifierExpression identifier = new IdentifierExpression("InitializeComponents"); InvocationExpression invocation = new InvocationExpression(identifier, new List <Expression>()); object output = invocation.AcceptVisitor(new CodeDomVisitor(), null); Assert.IsTrue(output is CodeMethodInvokeExpression); CodeMethodInvokeExpression mie = (CodeMethodInvokeExpression)output; Assert.AreEqual("InitializeComponents", mie.Method.MethodName); Assert.IsTrue(mie.Method.TargetObject is CodeThisReferenceExpression); }
public void MethodOnThisReferenceInvocation() { // InitializeComponents(); MemberReferenceExpression field = new MemberReferenceExpression(new ThisReferenceExpression(), "InitializeComponents"); InvocationExpression invocation = new InvocationExpression(field, new List <Expression>()); object output = invocation.AcceptVisitor(new CodeDomVisitor(), null); Assert.IsTrue(output is CodeMethodInvokeExpression); CodeMethodInvokeExpression mie = (CodeMethodInvokeExpression)output; Assert.AreEqual("InitializeComponents", mie.Method.MethodName); Assert.IsTrue(mie.Method.TargetObject is CodeThisReferenceExpression); }
public void InvocationOfStaticMethod() { // System.Drawing.Color.FromArgb(); MemberReferenceExpression field = new MemberReferenceExpression(new IdentifierExpression("System"), "Drawing"); field = new MemberReferenceExpression(field, "Color"); field = new MemberReferenceExpression(field, "FromArgb"); InvocationExpression invocation = new InvocationExpression(field, new List <Expression>()); object output = invocation.AcceptVisitor(new CodeDomVisitor(), null); Assert.IsTrue(output is CodeMethodInvokeExpression); CodeMethodInvokeExpression mie = (CodeMethodInvokeExpression)output; Assert.AreEqual("FromArgb", mie.Method.MethodName); Assert.IsTrue(mie.Method.TargetObject is CodeTypeReferenceExpression); Assert.AreEqual("System.Drawing.Color", (mie.Method.TargetObject as CodeTypeReferenceExpression).Type.BaseType); }
public override void VisitInvocationExpression(InvocationExpression invocationExpression) { base.VisitInvocationExpression(invocationExpression); var visitor = new CaptureSelectNewFieldNamesVisitor(); invocationExpression.AcceptVisitor(visitor, null); var memberReferenceExpression = invocationExpression.Target as MemberReferenceExpression; if (memberReferenceExpression == null) { base.VisitInvocationExpression(invocationExpression); return; } if (memberReferenceExpression.MemberName == "Where") indexData.HasWhere = true; indexData.SelectExpressions = visitor.SelectExpressions; }
public override void VisitInvocationExpression(InvocationExpression invocationExpression) { base.VisitInvocationExpression(invocationExpression); var selectExpressions = new Dictionary<string, Expression>(); var visitor = new CaptureSelectNewFieldNamesVisitor(false, new HashSet<string>(), selectExpressions); invocationExpression.AcceptVisitor(visitor, null); var memberReferenceExpression = invocationExpression.Target as MemberReferenceExpression; if (memberReferenceExpression == null) { base.VisitInvocationExpression(invocationExpression); return; } if (memberReferenceExpression.MemberName == "Where") indexData.HasWhere = true; indexData.SelectExpressions = selectExpressions; }
public override void VisitInvocationExpression(InvocationExpression invocationExpression) { base.VisitInvocationExpression(invocationExpression); var visitor = new CaptureSelectNewFieldNamesVisitor(); invocationExpression.AcceptVisitor(visitor, null); var memberReferenceExpression = invocationExpression.Target as MemberReferenceExpression; if (memberReferenceExpression == null) { base.VisitInvocationExpression(invocationExpression); return; } if (memberReferenceExpression.MemberName == "Where") { indexData.HasWhere = true; } indexData.SelectExpressions = visitor.SelectExpressions; }
public override void VisitInvocationExpression(InvocationExpression invocationExpression) { base.VisitInvocationExpression(invocationExpression); var selectExpressions = new Dictionary <string, Expression>(); var visitor = new CaptureSelectNewFieldNamesVisitor(false, new HashSet <string>(), selectExpressions); invocationExpression.AcceptVisitor(visitor, null); var memberReferenceExpression = invocationExpression.Target as MemberReferenceExpression; if (memberReferenceExpression == null) { base.VisitInvocationExpression(invocationExpression); return; } if (memberReferenceExpression.MemberName == "Where") { indexData.HasWhere = true; } indexData.SelectExpressions = selectExpressions; }
Expression GetBaseInitCall (ConstructorDeclaration c, Substitute subs) { var thisInit = c.Initializer; var i = new InvocationExpression ( new BaseReferenceExpression (), thisInit.Arguments.Select (x => x.Clone ())); i.AcceptVisitor (subs); return i; }