public virtual void VisitFieldDeclNode(FieldDeclNode node) { Visit(node.NameListNode); Visit(node.ColonNode); Visit(node.TypeNode); Visit(node.PortabilityDirectiveListNode); Visit(node.SemicolonNode); }
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)); }