Esempio n. 1
0
        public override void VisitUnitNode(UnitNode node)
        {
            AddLineCodeFormat("namespace {0}", node.UnitNameNode.Text);
            AddFullLineCode("{");
            Indent();
            AddFullLineCode("using System;");
            AddFullLineCode("using System.Collections.Generic;");
            AddLineCode("");
            IEnumerable <UsedUnitNode> uses = new UsedUnitNode[0];

            if (node.InterfaceSectionNode.UsesClauseNode != null)
            {
                uses = uses.Union(node.InterfaceSectionNode.UsesClauseNode.UnitListNode.Items.Select(x => x.ItemNode));
            }
            if (node.ImplementationSectionNode.UsesClauseNode != null)
            {
                uses = uses.Union(node.ImplementationSectionNode.UsesClauseNode.UnitListNode.Items.Select(x => x.ItemNode));
            }

            foreach (var use in uses.Select(x => x.FileNameNode.Text).Distinct())
            {
                AddFullLineCodeFormat("using {0};", use);
            }

            Visit(node.InterfaceSectionNode);
            Visit(node.ImplementationSectionNode);
            Visit(node.InitSectionNode);
            Visit(node.DotNode);

            UnIndent();
            AddFullLineCode("}");
        }
Esempio n. 2
0
 public virtual void VisitUsedUnitNode(UsedUnitNode node)
 {
     Visit(node.NameNode);
     Visit(node.InKeywordNode);
     Visit(node.FileNameNode);
 }
Esempio n. 3
0
 public virtual void VisitUsedUnitNode(UsedUnitNode node)
 {
     Visit(node.NameNode);
     Visit(node.InKeywordNode);
     Visit(node.FileNameNode);
 }