|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.oklab.compiler.nametable.FieldManager
public class FieldManager
Fieldを管理するクラス.
このクラスがフィールド情報の生成からクラスファイルへの出力まで管理するので
ユーザは直接Fieldクラスを意識することなく実装が出来る.
Field| フィールドの概要 | |
|---|---|
private java.util.Map<java.lang.String,Field> |
fields
|
private static FieldManager |
manager
|
| コンストラクタの概要 | |
|---|---|
private |
FieldManager()
|
| メソッドの概要 | |
|---|---|
(package private) Variable |
createReference(Node node,
java.lang.String curentIdentifer)
このクラスにフィールド情報が存在する場合は、その情報を返し存在しない場合は、 フィールド情報の参照インスタンスを作成する. |
void |
emitCode(java.io.DataOutputStream classfile)
バイトコードを出力する. |
static FieldManager |
getInstance()
唯一のインスタンスを取得する. |
void |
init()
初期化. |
void |
put(int type,
java.lang.String name)
フィールドマネージャへフィールドを登録する. |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
private static FieldManager manager
private java.util.Map<java.lang.String,Field> fields
| コンストラクタの詳細 |
|---|
private FieldManager()
| メソッドの詳細 |
|---|
public void init()
IntermediateLangManager 内の initpublic static FieldManager getInstance()
FieldManagerオブジェクト.
public void put(int type,
java.lang.String name)
throws CompileError
type - フィールドの型.name - フィールドの名前.
CompileError - 登録に失敗した時に発生する.
public void emitCode(java.io.DataOutputStream classfile)
throws java.io.IOException
classfile - 出力先ファイル.
CompileError - 出力に失敗した時に発生する.
java.io.IOException
Variable createReference(Node node,
java.lang.String curentIdentifer)
node - 親ノード.curentIdentifer - 識別子.
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||