クラス TopLevelClass.Default.ListOrNode

java.lang.Object
  上位を拡張 TopLevelClass.Default.Node
      上位を拡張 TopLevelClass.Default.ListOrNode
すべての実装されたインタフェース:
TopLevelClass.Node
含まれているインタフェース:
TopLevelClass.Default

public static class TopLevelClass.Default.ListOrNode
extends TopLevelClass.Default.Node

ListOrNode の実装。

このクラスは、TypeDefinition で定義される、$abstractではない非終端記号 Type に対して出力されます。また、このクラスを出力させる TypeDefinitionsupertypes に列挙される最初の TypeName に対しても同様のクラスが出力されます。

このクラスは、$abstractTypeDefinition に対しては abstract になります。そうでない場合、abstract ではなくなります。

このクラスは、supertypes が存在しない場合 TopLevelClass.Default.Node のサブクラスになります。そうでない場合、supertypes の最初の TypeName と同じ名前の TopLevelClass.Default のネストしたクラスのサブクラスになります。

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

コンストラクタの概要
TopLevelClass.Default.ListOrNode(List/Node source)
          source.getChildNodes()source.
TopLevelClass.Default.ListOrNode(TopLevelClass.NodeInitializationParameters parameters, boolean compact)
          parameters で与えられる子を持つようにノードを構築します。
 
メソッドの概要
 void replaceChild(TopLevelClass.Node oldChild, TopLevelClass.Node newChild)
          子のノード oldChildnewChild で置き換えます。
 
クラス TopLevelClass.Default.Node から継承されたメソッド
getChildNodes, toString
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース TopLevelClass.Node から継承されたメソッド
getChildNodes
 

コンストラクタの詳細

TopLevelClass.Default.ListOrNode

public TopLevelClass.Default.ListOrNode(List/Node source)
source.getChildNodes()source.label() などによって与えられる子を持つようにノードを構築します。リストオブジェクトはコピーされます。

パラメータ:
source - ソース。

TopLevelClass.Default.ListOrNode

public TopLevelClass.Default.ListOrNode(TopLevelClass.NodeInitializationParameters parameters,
                                        boolean compact)
parameters で与えられる子を持つようにノードを構築します。

パラメータ:
parameters - 初期化パラメタ。
compact - true の場合、ラベル付けされていない子を除いてノードを作る。
メソッドの詳細

replaceChild

public void replaceChild(TopLevelClass.Node oldChild,
                         TopLevelClass.Node newChild)
クラス TopLevelClass.Default.Node の記述:
子のノード oldChildnewChild で置き換えます。

このメソッドは、 getChildNodes() の中の oldChildnewChild で置き換えます。 また、TopLevelClass.Type.label() によって返されるノードも置き換えます。

オーバーライド:
クラス TopLevelClass.Default.Node 内の replaceChild
パラメータ:
oldChild - 交換される子。
newChild - oldChild を置き換える新しい子。