org.oklab.compiler.nametable
クラス StandardLibraryManager

java.lang.Object
  上位を拡張 org.oklab.compiler.nametable.StandardLibraryManager
すべての実装されたインタフェース:
IntermediateLangManager

public class StandardLibraryManager
extends java.lang.Object
implements IntermediateLangManager

標準ライブラリの中間言語情報を管理する.

導入されたバージョン:
1.0
バージョン:
1.01
作成者:
Satoshi Okita satoshiokita@gmail.com

フィールドの概要
private static StandardLibraryManager instance
           
static java.lang.String LIBRARY_NAME
          標準ライブラリのパッケージ名を保持する定数.
static java.lang.String LIBRARY_NAME_FOR_BYTECODE
          バイトコード内で、標準ライブラリのパッケージ名を保持する定数.
private static java.util.Map<java.lang.String,Method> methods
           
 
コンストラクタの概要
private StandardLibraryManager()
           
 
メソッドの概要
static StandardLibraryManager getInstance()
          唯一のインスタンスを生成する.
 void init()
          標準ライブラリに書かれているメソッドをすべてこのクラスにロードする.
private  void registToPools(java.lang.reflect.Method m)
          ライブラリの登録には、登録キーと詳細情報(descriptor)、戻り値が必要になる.
 boolean resolve(Call call)
          マネージャに対象のメソッドが保存されているか確認する.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

instance

private static StandardLibraryManager instance

LIBRARY_NAME

public static final java.lang.String LIBRARY_NAME
標準ライブラリのパッケージ名を保持する定数.

関連項目:
定数フィールド値

LIBRARY_NAME_FOR_BYTECODE

public static final java.lang.String LIBRARY_NAME_FOR_BYTECODE
バイトコード内で、標準ライブラリのパッケージ名を保持する定数.

関連項目:
定数フィールド値

methods

private static java.util.Map<java.lang.String,Method> methods
コンストラクタの詳細

StandardLibraryManager

private StandardLibraryManager()
メソッドの詳細

getInstance

public static StandardLibraryManager getInstance()
唯一のインスタンスを生成する.


init

public void init()
標準ライブラリに書かれているメソッドをすべてこのクラスにロードする.

定義:
インタフェース IntermediateLangManager 内の init

registToPools

private void registToPools(java.lang.reflect.Method m)
                    throws CompileError
ライブラリの登録には、登録キーと詳細情報(descriptor)、戻り値が必要になる. ここでは、これらを生成して登録処理を行う.

パラメータ:
m - メソッド情報.
例外:
CompileError - メソッド引数または戻り値の型が正しくない場合に発生する.

resolve

public boolean resolve(Call call)
マネージャに対象のメソッドが保存されているか確認する.

パラメータ:
call - 対象のメソッド.
戻り値:
存在する場合はtrue、それ以外はfalse.