Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodInvocation C# (CSharp) Метод

ProcessMethodInvocation() защищенный Метод

protected ProcessMethodInvocation ( MethodInvocationExpression node, IMethod method ) : void
node MethodInvocationExpression
method IMethod
Результат void
        protected virtual void ProcessMethodInvocation(MethodInvocationExpression node, IMethod method)
        {
            if (ResolvedAsExtension(node)) PostNormalizeExtensionInvocation(node, method);

            var targetMethod = InferGenericMethodInvocation(node, method);
            if (targetMethod == null) return;

            if (!CheckParameters(targetMethod.CallableType, node.Arguments, false))
            {
                if (!ResolvedAsExtension(node) && TryToProcessAsExtensionInvocation(node)) return;

                if (ProcessMethodInvocationWithInvalidParameters(node, targetMethod)) return;

                AssertParameters(node, targetMethod, node.Arguments);
            }

            AssertTargetContext(node.Target, targetMethod);
            NamedArgumentsNotAllowed(node);

            EnsureRelatedNodeWasVisited(node.Target, targetMethod);
            BindExpressionType(node, GetInferredType(targetMethod));
            ApplyBuiltinMethodTypeInference(node, targetMethod);
        }
ProcessMethodBodies