|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.oklab.compiler.nametable.MethodManager
public class MethodManager
コンパイル時に、メソッドの中間言語を管理する.メソッドの構文解析はMethod
インスタンス生成時に行うが、メソッドの中間言語情報をコンパイラプログラム内で使いたい場合
はこのクラスを利用する.
| フィールドの概要 | |
|---|---|
private static MethodManager |
manager
|
private static java.util.Map<java.lang.String,Method> |
methods
|
| コンストラクタの概要 | |
|---|---|
private |
MethodManager()
|
| メソッドの概要 | |
|---|---|
void |
emitCode(java.io.DataOutputStream classfile)
バイトコードの生成. |
static MethodManager |
getInstance()
シングルトン・デザインパターンによるインスタンス取得. |
void |
init()
初期化. |
void |
parseAndPut(int returnType,
java.lang.String methodName,
SourceReader sReader)
メソッド情報の登録を解析してから行う. |
boolean |
resolve(Call call)
マネージャに対象のメソッドが保存されているか確認する. |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
private static MethodManager manager
private static java.util.Map<java.lang.String,Method> methods
| コンストラクタの詳細 |
|---|
private MethodManager()
| メソッドの詳細 |
|---|
public static MethodManager getInstance()
public void init()
IntermediateLangManager 内の init
public void parseAndPut(int returnType,
java.lang.String methodName,
SourceReader sReader)
throws CompileError
returnType - 戻り値の型.methodName - メソッド名(識別子)sReader - ソースコードをトークン単位で読むリーダ.
CompileError
public void emitCode(java.io.DataOutputStream classfile)
throws CompileError
classfile - 出力ファイル先.
CompileError - 出力に失敗した時に発生する.public boolean resolve(Call call)
call - 対象のメソッド.
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||