ここではJavaを解析した際の PointerAnalysis から取得できる情報について説明する

(ここで扱う PointerAnalysis は従来の PointerAnalysis<InstanceKey> である)

基本的なクラスの説明

PointerAnalysis クラス

ポインタ解析結果を保持するクラス

PointerKey クラス

抽象的なポインタを表すオブジェクト

オブジェクトの種類によって、表現する派生クラスが異なる

LocalPointerKey クラス

ローカル変数のポインタを表す

CGNode と ValueNumber の情報を持つ

LocalPointerKeyWithFilter クラス (LocalPointerKey の派生クラス)

type filterを持つ LocalPointerKey

InstanceFieldKey クラス

TODO

StaticFieldKey クラス

静的フィールドのポインタを表す

IField の情報を持つ

ReturnValueKey クラス

返り値のポインタを示す

CGNode の情報を持つ

ReturnValueKeyWithFilter クラス (ReturnValueKey の派生クラス)

type filterを持つ ReturnValueKey

ExceptionReturnValueKey クラス (ReturnValueKey の派生クラス)

TODO

ArrayContentsKey クラス

TODO

InstanceKey クラス

抽象的なheap locationを表すオブジェクト

オブジェクトの種類によって、派生クラスが異なる

HeapGraph クラス: ポインタ関係のグラフ情報

TODO