クラス TopLevelClass.Default.Node

java.lang.Object
  |
  +--TopLevelClass.Default.Node
すべての実装インタフェース:
TopLevelClass.Node
直系の既知のサブクラス:
TopLevelClass.Default.Token, TopLevelClass.Default.Type
含まれているクラス:
TopLevelClass.Default

public abstract static class TopLevelClass.Default.Node
extends Object
implements TopLevelClass.Node

TopLevelClass.Node の簡単な実装を提供します。

導入されたバージョン:
notavaCC 1.0

コンストラクタの概要
TopLevelClass.Default.Node(List childNodes)
          インスタンスを構築します。
 
メソッドの概要
 void accept(TopLevelClass.Visitor visitor)
          Traverses the (sub-)tree whose root is this node.
 List getChildNodes()
          子のノードのリストを返します。
 TopLevelClass.Node getParentNode()
          親のノードを返します。
 void replace(TopLevelClass.Node oldNode)
          oldNode を、このノードで置き換えます。
protected  void replaceChild(TopLevelClass.Node oldChild, TopLevelClass.Node newChild)
          子のノード oldChildnewChild で置き換えます。
 void setParentNode(TopLevelClass.Node parentNode)
          TopLevelClass.Node.getParentNode() の戻り値を設定します。
 String toString()
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

TopLevelClass.Default.Node

public TopLevelClass.Default.Node(List childNodes)
インスタンスを構築します。

childNodes は、getChildNodes() の戻り値として、そのまま使われます。 childNodes の親のノードは、TopLevelClass.Node.setParentNode(TopLevelClass.Node) を用いてこのノードに設定されます。 getParentNode() のデフォルトの戻り値は null です。

パラメータ:
childNodes - 子のノードのリスト。
導入されたバージョン:
notavaCC 1.0
メソッドの詳細

getChildNodes

public List getChildNodes()
インタフェース TopLevelClass.Node の記述:
子のノードのリストを返します。

¬<><∪∪が出力するコードによって作られる Node 型のオブジェクトでは、リストは変更可能で、リストの要素は構文解析対象のテキストに出現した順番に並びます。しかし、ユーザが構築したノードがこの条件を満たす必要はありません。

定義:
インタフェース TopLevelClass.Node 内の getChildNodes
戻り値:
子のノードのリスト。

accept

public final void accept(TopLevelClass.Visitor visitor)
インタフェース TopLevelClass.Node の記述:
Traverses the (sub-)tree whose root is this node.

this node is passed to the visitor, then the child nodes are traversed recursively (preorder traversal). A node is passed to the methods of the visitor, using reflection, that is public, whose name is visit, that have only one argument whose type is compatible with this node, and that have no throws clause.

定義:
インタフェース TopLevelClass.Node 内の accept
パラメータ:
visitor - a visitor.

getParentNode

public TopLevelClass.Node getParentNode()
インタフェース TopLevelClass.Node の記述:
親のノードを返します。

このメソッドは、単純に TopLevelClass.Node.setParentNode(TopLevelClass.Node) で与えられた値を返します。構文木を編集する場合、ユーザは、このメソッドが親ノードを返すように適切に TopLevelClass.Node.setParentNode(TopLevelClass.Node) を呼び出さなければなりません。

定義:
インタフェース TopLevelClass.Node 内の getParentNode
戻り値:
このノードが構文木の根の場合 null。そうでない場合、親のノード。

setParentNode

public void setParentNode(TopLevelClass.Node parentNode)
インタフェース TopLevelClass.Node の記述:
TopLevelClass.Node.getParentNode() の戻り値を設定します。

定義:
インタフェース TopLevelClass.Node 内の setParentNode
パラメータ:
parentNode - 次回以降の TopLevelClass.Node.getParentNode() の戻り値

replaceChild

protected void replaceChild(TopLevelClass.Node oldChild,
                            TopLevelClass.Node newChild)
子のノード oldChildnewChild で置き換えます。

このメソッドは、newChild.setParentNode(this)oldChild.setParentNode(null) を呼び出し、 getChildNodes() の中の oldChildnewChild で置き換えます。 また、TopLevelClass.Type.label() によって返されるノードも置き換えます。

パラメータ:
oldChild - 交換される子。
newChild - oldChild を置き換える新しい子。
導入されたバージョン:
notavaCC 1.0

replace

public void replace(TopLevelClass.Node oldNode)
             throws IllegalStateException
oldNode を、このノードで置き換えます。

このメソッドは、((TopLevelClass.Default.Node) oldNode.getParentNode()).replaceChild(oldNode, this) を呼び出します。

パラメータ:
oldNode - 交換される子。
例外:
IllegalStateException - oldNode.getParentNode() == null || !(oldNode.getParentNode() instanceof Default.Node) の場合
導入されたバージョン:
notavaCC 1.0

toString

public String toString()
オーバーライド:
クラス Object 内の toString