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

ShouldDeferClosureProcessing() приватный Метод

private ShouldDeferClosureProcessing ( BlockExpression node ) : bool
node BlockExpression
Результат bool
        private bool ShouldDeferClosureProcessing(BlockExpression node)
        {
            // Defer closure processing if it's an argument in a generic method invocation
            MethodInvocationExpression methodInvocationContext = node.ParentNode as MethodInvocationExpression;
            if (methodInvocationContext == null) return false;
            if (!methodInvocationContext.Arguments.Contains(node)) return false;

            if (methodInvocationContext.Target.Entity is Ambiguous)
                return ((Ambiguous) methodInvocationContext.Target.Entity).Any(GenericsServices.IsGenericMethod);

            IMethod target = methodInvocationContext.Target.Entity as IMethod;
            return (target != null && GenericsServices.IsGenericMethod(target));
        }
ProcessMethodBodies