All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class epp.TypeNameTable

java.lang.Object
   |
   +----epp.TypeNameTable

public class TypeNameTable
extends Object
クラス TypeNameTable は、「型の名前」を、完全限定名(fully qualified name)に 変換します。.

このクラスが扱う「型の名前」とは、 "(name ...)" の形をした Tree です。 配列型のように、構造を持った型は、扱いません。

変換は、次のルールにしたがって行なわれます。

このテーブルのインスタンスは、動的変数 :typeNameTable に入れられています。 ただし、 Phase2 にならないとこのテーブルを利用することはできません。 (Java の言語仕様上、 Phase1 では、完全限定名への変換は不可能です。 カレントパッケージ中にどのようなクラスが存在するかに影響されるからです。)

完全限定名への変換は、処理中のファイルの pacakge 宣言、 import 宣言、 全ソースファイル中で定義されているクラス名、 CLASSPATH でアクセスできるクラス名を参照することによって、行なわれます。


Constructor Index

 o TypeNameTable(Tree)
引数として、 CompilationUnit の tree を受け取り、 TypeNameTable を作って返します。.

Method Index

 o doesClassExist(Tree)
完全限定名で表されるクラスが、実際に存在してアクセス可能ならば true 、 そうでないなら false を返します。.
 o isSamePackage(Tree)
現在処理中のパッケージと、 fullName が属するパッケージが同じなら true 、そうでないなら false を返します。.
 o nameToFullName(Tree)
型名の Tree を 完全限定名を表す Tree に変換します。.
 o nameToFullNameSymbol(Tree)
型名の Tree を 完全限定名を表す Symbol に変換します。.

Constructors

 o TypeNameTable
 public TypeNameTable(Tree tree)
引数として、 CompilationUnit の tree を受け取り、 TypeNameTable を作って返します。.

Methods

 o nameToFullNameSymbol
 public Symbol nameToFullNameSymbol(Tree tree)
型名の Tree を 完全限定名を表す Symbol に変換します。.

 o nameToFullName
 public Tree nameToFullName(Tree tree)
型名の Tree を 完全限定名を表す Tree に変換します。.

 o doesClassExist
 public boolean doesClassExist(Tree fullName)
完全限定名で表されるクラスが、実際に存在してアクセス可能ならば true 、 そうでないなら false を返します。. このメソッドは、 nameToFullName と Type#resolveAmbiguousName から 呼ばれます。

See Also:
nameToFullName, resolveAmbiguousName
 o isSamePackage
 public boolean isSamePackage(Tree fullName)
現在処理中のパッケージと、 fullName が属するパッケージが同じなら true 、そうでないなら false を返します。.


All Packages  Class Hierarchy  This Package  Previous  Next  Index