示例#1
0
 public override void Visit(MethodCallExpression methodCallExpression)
 {
     // todo: add support for instance calls
     // todo: add support for virtcalls
     for (int i = 0; i < methodCallExpression.Arguments.Count; i++)
     {
         methodCallExpression.Arguments[i].Dispatch(this);
     }
     mILGenerator.Emit(OperationCode.Call, ResolveMethodReference(methodCallExpression.Method, methodCallExpression.Arguments));
 }
示例#2
0
文件: Printer.cs 项目: Sullux/tws
        public override void Visit(MethodCallExpression methodCallExpression)
        {
            mOutput.Write(methodCallExpression.Method.DeclaringType.FullName + "." + methodCallExpression.Method.Name + "(");
            for (int i = 0; i < methodCallExpression.Arguments.Count; i++)
            {
                methodCallExpression.Arguments[i].Dispatch(this);

                if (i < (methodCallExpression.Arguments.Count - 1))
                {
                    mOutput.Write(", ");
                }
            }
            mOutput.Write(")");
        }
示例#3
0
文件: BaseVisitor.cs 项目: Sullux/tws
 public virtual void Visit(MethodCallExpression methodCallExpression)
 {
 }