Boo.Lang.Compiler.Steps.ExpandDuckTypedExpressions.OnMethodInvocationExpression C# (CSharp) Метод

OnMethodInvocationExpression() публичный Метод

public OnMethodInvocationExpression ( MethodInvocationExpression node ) : void
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
Результат void
        public override void OnMethodInvocationExpression(MethodInvocationExpression node)
        {
            if (!IsDuckTyped(node.Target))
            {
                base.OnMethodInvocationExpression(node);
                return;
            }

            if (TypeSystemServices.IsQuackBuiltin(node.Target))
            {
                ExpandQuackInvocation(node);
                return;
            }

            base.OnMethodInvocationExpression(node);

            if(node.GetAncestor(NodeType.Constructor) == null
                || (node.Target.NodeType != NodeType.SelfLiteralExpression
                    && node.Target.NodeType != NodeType.SuperLiteralExpression)
                || TypeSystemServices.GetOptionalEntity(node.Target) as IConstructor == null)
                ExpandCallableInvocation(node);
        }