Example #1
0
        public void ParentNodeOfType()
        {
            VarSectionNode varSectionNode =
                (VarSectionNode)Parse("var Foo: record Bar: Integer; end;", RuleType.VarSection);
            RecordTypeNode recordNode =
                (RecordTypeNode)varSectionNode.VarListNode.Items[0].TypeNode;
            VisibilitySectionNode visibilitySectionNode =
                recordNode.ContentListNode.Items[0];
            FieldSectionNode fieldSectionNode =
                (FieldSectionNode)visibilitySectionNode.ContentListNode.Items[0];
            FieldDeclNode barFieldNode =
                fieldSectionNode.FieldListNode.Items[0];
            Token barNameNode = barFieldNode.NameListNode.Items[0].ItemNode;

            Assert.That(barNameNode.ParentNodeOfType <FieldDeclNode>(), Is.SameAs(barFieldNode));
            Assert.That(barNameNode.ParentNodeOfType <FieldSectionNode>(), Is.SameAs(fieldSectionNode));
            Assert.That(barNameNode.ParentNodeOfType <VisibilitySectionNode>(), Is.SameAs(visibilitySectionNode));
            Assert.That(barNameNode.ParentNodeOfType <RecordTypeNode>(), Is.SameAs(recordNode));
            Assert.That(barNameNode.ParentNodeOfType <VarSectionNode>(), Is.SameAs(varSectionNode));
        }
Example #2
0
 public virtual void VisitVarSectionNode(VarSectionNode node)
 {
     Visit(node.VarKeywordNode);
     Visit(node.VarListNode);
 }
Example #3
0
 public virtual void VisitVarSectionNode(VarSectionNode node)
 {
     Visit(node.VarKeywordNode);
     Visit(node.VarListNode);
 }