クラス TopLevelClass.Default.Type
java.lang.Object
TopLevelClass.Default.Node
TopLevelClass.Default.Type
- すべての実装されたインタフェース:
- TopLevelClass.Node, TopLevelClass.Type
- 含まれているインタフェース:
- TopLevelClass.Default
public static class TopLevelClass.Default.Type
- extends TopLevelClass.Default.Node
- implements TopLevelClass.Type
Type
の実装。
このクラスは、TypeDefinition で定義される、$abstract
ではない非終端記号 Type に対して出力されます。また、このクラスを出力させる TypeDefinition の supertypes に列挙される最初の TypeName に対しても同様のクラスが出力されます。
このクラスは、$abstract
な TypeDefinition に対しては abstract
になります。そうでない場合、abstract
ではなくなります。
このクラスは、supertypes が存在しない場合 TopLevelClass.Default.Node
のサブクラスになります。そうでない場合、supertypes の最初の TypeName と同じ名前の TopLevelClass.Default
のネストしたクラスのサブクラスになります。
- 導入されたバージョン:
- notavaCC 1.0
TopLevelClass.Default.Type
public TopLevelClass.Default.Type(TopLevelClass.Type source)
source.getChildNodes()
や source.label()
などによって与えられる子を持つようにノードを構築します。リストオブジェクトはコピーされます。
- パラメータ:
source
- ソース。
TopLevelClass.Default.Type
public TopLevelClass.Default.Type(TopLevelClass.NodeInitializationParameters parameters,
boolean compact)
parameters
で与えられる子を持つようにノードを構築します。
- パラメータ:
parameters
- 初期化パラメタ。compact
- true
の場合、ラベル付けされていない子を除いてノードを作る。
TopLevelClass.Default.Type
public TopLevelClass.Default.Type(List<TopLevelClass.Node> childNodes,
List/Node label)
label
public List/Node label()
- インタフェース
TopLevelClass.Type
の記述:
label
でラベル付けされる子を返します。
ラベル付けされる子が高々1つしかない場合、このメソッドの戻り値の型は、ラベル付けされる子に共通の型で最も限定的なものになります。このとき、ラベル付けされる子が無ければ、戻り値は null
になります。
ラベル付けされる子が複数になる可能性がある場合、このメソッドの戻り値の型は、ラベル付けされる子に共通の型で最も限定的なものの List
になります。このとき、ラベル付けされる子が無ければ、戻り値は isEmpty
もしくは長さ0の配列になります。
- 定義:
- インタフェース
TopLevelClass.Type
内の label
- 戻り値:
label
でラベル付けされる子。
replaceChild
public void replaceChild(TopLevelClass.Node oldChild,
TopLevelClass.Node newChild)
- クラス
TopLevelClass.Default.Node
の記述:
- 子のノード
oldChild
を newChild
で置き換えます。
このメソッドは、
getChildNodes()
の中の oldChild
を newChild
で置き換えます。
また、TopLevelClass.Type.label()
によって返されるノードも置き換えます。
- オーバーライド:
- クラス
TopLevelClass.Default.Node
内の replaceChild
- パラメータ:
oldChild
- 交換される子。newChild
- oldChild
を置き換える新しい子。