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

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

public LeaveGenericReferenceExpression ( GenericReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.GenericReferenceExpression
Результат void
        public override void LeaveGenericReferenceExpression(GenericReferenceExpression node)
        {
            if (node.Target.Entity == null || IsError(node.Target.Entity))
            {
                BindExpressionType(node, TypeSystemServices.ErrorEntity);
                return;
            }

            IEntity entity = NameResolutionService.ResolveGenericReferenceExpression(node, node.Target.Entity);
            Bind(node, entity);

            if (entity.EntityType == EntityType.Type)
            {
                BindTypeReferenceExpressionType(node, (IType)entity);
                return;
            }
            if (entity.EntityType == EntityType.Method)
                BindExpressionType(node, ((IMethod)entity).Type);

            if (!(node.Target is MemberReferenceExpression)) //no self.
                node.Target = CodeBuilder.MemberReferenceForEntity(CreateSelfReference(), entity);
        }
ProcessMethodBodies