public virtual ICodeNode VisitMethodReferenceExpression(MethodReferenceExpression node) { node.Target = (Expression)Visit(node.Target); return(node); }
public virtual void VisitMethodReferenceExpression (MethodReferenceExpression node) { Visit (node.Target); }
public override void VisitMethodReferenceExpression (MethodReferenceExpression node) { if (node.Target != null) { Visit (node.Target); WriteToken ("."); } if (!node.Method.HasThis) { WriteReference (node.Method.DeclaringType); WriteToken ("."); } Write (node.Method.Name); }
bool IsCallOnEnumerator (MethodReferenceExpression method_reference_expression, string method_name) { if (method_reference_expression.Method.Name != method_name) return false; if (!IsEnumerator (method_reference_expression.Target)) return false; return true; }
static PropertyReferenceExpression CreatePropertyReferenceFromMethod (MethodReferenceExpression method_ref, MethodDefinition method) { return new PropertyReferenceExpression (method_ref.Target, GetProperty (method)); }
static AssignExpression ProcessSetter (MethodInvocationExpression invoke, MethodReferenceExpression method_ref, MethodDefinition method) { return new AssignExpression ( CreatePropertyReferenceFromMethod (method_ref, method), invoke.Arguments [0]); }
static PropertyReferenceExpression ProcessGetter (MethodReferenceExpression method_ref, MethodDefinition method) { return CreatePropertyReferenceFromMethod (method_ref, method); }
public virtual void VisitMethodReferenceExpression(MethodReferenceExpression node) { Visit(node.Target); }