예제 #1
0
        private TypeInfo Visit(MethodCallNode node, MethodBuilder builder, CodegenContext context)
        {
            ClassType type = Visit(node.Where as dynamic, builder, context) as ClassType;

            var argList = new List <TypeInfo>();

            foreach (dynamic item in node.Arguments)
            {
                var arg = Visit(item, builder, context);

                argList.Add(arg);
            }

            //TODO ПЛОХО
            var methodInfo = type.GetMethod(node.MethodName, argList, type is PackageType);

            builder.Call(methodInfo);

            return(methodInfo.Ret);
        }