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

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

private ProcessConstructorInvocation ( MethodInvocationExpression node, IEntity targetEntity ) : void
node MethodInvocationExpression
targetEntity IEntity
Результат void
        private void ProcessConstructorInvocation(MethodInvocationExpression node, IEntity targetEntity)
        {
            NamedArgumentsNotAllowed(node);
            InternalConstructor constructorInfo = targetEntity as InternalConstructor;
            if (null == constructorInfo) return;

            IType targetType = null;
            if (NodeType.SuperLiteralExpression == node.Target.NodeType)
            {
                constructorInfo.HasSuperCall = true;
                targetType = constructorInfo.DeclaringType.BaseType;
            }
            else if (node.Target.NodeType == NodeType.SelfLiteralExpression)
            {
                constructorInfo.HasSelfCall = true;
                targetType = constructorInfo.DeclaringType;
            }

            IConstructor targetConstructorInfo = GetCorrectConstructor(node, targetType, node.Arguments);
            if (null != targetConstructorInfo)
            {
                Bind(node.Target, targetConstructorInfo);
            }
        }
ProcessMethodBodies