Java Debug Interface

com.sun.jdi
インタフェース Method

すべてのスーパーインタフェース:
Accessible, Comparable<Method>, Locatable, Mirror, TypeComponent

public interface Method
extends TypeComponent, Locatable, Comparable<Method>

ターゲット VM 内の static メソッドまたはインスタンスメソッドです。Field および Method のミラーに関する一般的な情報は、TypeComponent を参照してください。

導入されたバージョン:
1.3
関連項目:
ObjectReference, ReferenceType

メソッドの概要
 List<Location> allLineLocations()
          このメソッド内の各実行可能ソース行の Location オブジェクトを含むリストを返します。
 List<Location> allLineLocations(String stratum, String sourceName)
          このメソッド内の各実行可能ソース行の Location オブジェクトを含むリストを返します。
 List<LocalVariable> arguments()
          このメソッドの引数として宣言された各 LocalVariable を含むリストを返します。
 List<String> argumentTypeNames()
          このメソッドの各仮パラメータ型のテキスト表現を含むリストを返します。
 List<Type> argumentTypes()
          このメソッドの各仮パラメータの型を含むリストを返します。
 byte[] bytecodes()
          このメソッド用のバイトコードを含む配列を返します。
 boolean equals(Object obj)
          指定されたオブジェクトがこのメソッドと等しいかどうか比較します。
 int hashCode()
          このメソッド用のハッシュコード値を返します。
 boolean isAbstract()
          このメソッドが abstract かどうかを判定します。
 boolean isBridge()
          このメソッドがブリッジメソッドであるかどうかを判定します。
 boolean isConstructor()
          このメソッドがコンストラクタかどうかを判定します。
 boolean isNative()
          このメソッドが native かどうかを判定します。
 boolean isObsolete()
          メソッドがもう使用されていないものかどうかを判別します。
 boolean isStaticInitializer()
          このメソッドが static 初期化子かどうかを判定します。
 boolean isSynchronized()
          このメソッドが synchronized かどうかを判定します。
 boolean isVarArgs()
          このメソッドが引数の可変数を受け入れるかどうかを判定します。
 Location location()
          このメソッドに関連した実行可能コードが存在する場合、このメソッドの Location を返します。
 Location locationOfCodeIndex(long codeIndex)
          指定されたコードインデックスに対応する Location を返します。
 List<Location> locationsOfLine(int lineNumber)
          指定された行番号にマッピングされたすべての Location オブジェクトを含む List を返します。
 List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber)
          指定された行番号とソース名にマッピングされたすべての Location オブジェクトを含む List を返します。
 Type returnType()
          このメソッドの宣言で指定された戻り値の型を返します。
 String returnTypeName()
          このメソッドの宣言で指定された戻り値の型のテキスト表現を返します。
 List<LocalVariable> variables()
          このメソッド内で宣言された各 LocalVariable を含むリストを返します。
 List<LocalVariable> variablesByName(String name)
          このメソッド内に指定された名前の各 LocalVariable を含むリストを返します。
 
インタフェース com.sun.jdi.TypeComponent から継承されたメソッド
declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature
 
インタフェース com.sun.jdi.Mirror から継承されたメソッド
toString, virtualMachine
 
インタフェース com.sun.jdi.Accessible から継承されたメソッド
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers
 
インタフェース java.lang.Comparable から継承されたメソッド
compareTo
 

メソッドの詳細

returnTypeName

String returnTypeName()
このメソッドの宣言で指定された戻り値の型のテキスト表現を返します。

この型名は、型がまだ作成またはロードされていない場合でも利用可能です。

戻り値:
戻り値の型の名前を含む文字列

returnType

Type returnType()
                throws ClassNotLoadedException
このメソッドの宣言で指定された戻り値の型を返します。

注:このメソッドの戻り値の型が参照型 (クラス、インタフェース、または配列) であり、宣言する型のクラスローダー (declaringType() .classLoader()) によって作成またはロードされていない場合、ClassNotLoadedException がスローされます。また、参照型の場合、ロードされていても準備が整っていない場合があります。この場合、型は返されますが、ロードされた型に対して fields() などの操作を実行しようとすると、ClassNotPreparedException がスローされます。参照型の準備ができているかどうかを確認するには、ReferenceType.isPrepared() を使用します。

戻り値:
このメソッドの戻り値の Type
例外:
ClassNotLoadedException - 型が、適切なクラスローダーを使ってロードまたは作成されていない場合。
関連項目:
Type, Field.type() - for usage examples

argumentTypeNames

List<String> argumentTypeNames()
このメソッドの各仮パラメータ型のテキスト表現を含むリストを返します。

このリストは、型がまだ作成またはロードされていない場合でも利用可能です。

戻り値:
StringList。このメソッドのパラメータ 1 個につき List 要素 1 個。各要素はコンパイル時に指定された仮パラメータの型を表す。仮パラメータの宣言で省略記号が使われている場合は、型の配列として省略記号の前に置かれる。

argumentTypes

List<Type> argumentTypes()
                         throws ClassNotLoadedException
このメソッドの各仮パラメータの型を含むリストを返します。

注:参照型 (クラス、インタフェース、または配列) のパラメータが存在し、このパラメータが宣言する型のクラスローダー (declaringType() .classLoader()) によって作成またはロードされていない場合、ClassNotLoadedException がスローされます。また、参照型の場合、ロードされていても準備が整っていない場合があります。この場合、リストは返されますが、ロードされた型に対して fields() などの操作を実行しようとすると、ClassNotPreparedException がスローされます。参照型の準備ができているかどうかを確認するには、ReferenceType.isPrepared() を使用します。

戻り値:
TypeList。このメソッドのパラメータ 1 個につき List 要素 1 個を返す。各要素はコンパイル時に指定された仮パラメータの型を表す。仮パラメータの宣言で省略記号が使われている場合は、型の配列として省略記号の前に置かれる。
例外:
ClassNotLoadedException - 適切なクラスローダーによる型のロードがまだ行われていない場合。
関連項目:
Type

isAbstract

boolean isAbstract()
このメソッドが abstract かどうかを判定します。

戻り値:
メソッドが abstract と宣言されている場合は true、そうでない場合は false。

isSynchronized

boolean isSynchronized()
このメソッドが synchronized かどうかを判定します。

戻り値:
メソッドが synchronized と宣言されている場合は true、そうでない場合は false。

isNative

boolean isNative()
このメソッドが native かどうかを判定します。

戻り値:
メソッドが native と宣言されている場合は true、そうでない場合は false。

isVarArgs

boolean isVarArgs()
このメソッドが引数の可変数を受け入れるかどうかを判定します。

戻り値:
メソッドが引数の可変数を受け入れる場合は true、そうでない場合は false
導入されたバージョン:
1.5

isBridge

boolean isBridge()
このメソッドがブリッジメソッドであるかどうかを判定します。ブリッジメソッドについては、 「JavaTM 言語仕様、第 3 版」を参照してください。 戻り値:

戻り値:
メソッドがブリッジメソッドである場合は true、そうでない場合は false。
導入されたバージョン:
1.5

isConstructor

boolean isConstructor()
このメソッドがコンストラクタかどうかを判定します。

戻り値:
メソッドがコンストラクタである場合は true、そうでない場合は false。

isStaticInitializer

boolean isStaticInitializer()
このメソッドが static 初期化子かどうかを判定します。

戻り値:
メソッドが static 初期化子である場合は true、そうでない場合は false。

isObsolete

boolean isObsolete()
メソッドがもう使用されていないものかどうかを判別します。

戻り値:
このメソッドが VirtualMachine.redefineClasses(java.util.Map) 操作により廃止されている場合は true
導入されたバージョン:
1.4

allLineLocations

List<Location> allLineLocations()
                                throws AbsentInformationException
このメソッド内の各実行可能ソース行の Location オブジェクトを含むリストを返します。

このメソッドは、allLineLocations(vm.getDefaultStratum(),null) と等価です。詳細は、allLineLocations(String,String) を参照してください。

戻り値:
すべてのソース行の Location オブジェクトの List。
例外:
AbsentInformationException - この (非 native で非 abstract) メソッドに対する行番号情報が存在しない場合。

allLineLocations

List<Location> allLineLocations(String stratum,
                                String sourceName)
                                throws AbsentInformationException
このメソッド内の各実行可能ソース行の Location オブジェクトを含むリストを返します。

各位置では、特定のソース行がコードインデックスの特定の範囲にマップされています。この範囲の開始点は、Location.codeIndex() によって調べることができます。返されるリスト内の要素は、コードインデックスの昇順に格納されます。

返されるリストには、特定の行番号に対して複数の位置が含まれる可能性がありますが、これは、コンパイラや VM が特定の行を、連続していない複数のコードインデックス範囲へマッピングする場合があるからです。

メソッドが native または abstract の場合、空リストが返されます。

返されるリストは、指定された「層」のリストです。層の詳細は、Location を参照してください。

パラメータ:
stratum - 情報取得元の層。ReferenceType.defaultStratum() を使う場合は null
sourceName - 特定のソースファイル内の位置だけを取得する場合はそのファイル名、そうでない場合は null
戻り値:
すべてのソース行の Location オブジェクトの List。
例外:
AbsentInformationException - この (非 native で非 abstract) メソッドに対する行番号情報が存在しない場合。または sourceNamenull でないのにソース名情報が存在しない場合。
導入されたバージョン:
1.4

locationsOfLine

List<Location> locationsOfLine(int lineNumber)
                               throws AbsentInformationException
指定された行番号にマッピングされたすべての Location オブジェクトを含む List を返します。

このメソッドは、locationsOfLine(vm.getDefaultStratum(), null, lineNumber) と等価です。詳細は、 locationsOfLine(java.lang.String,java.lang.String,int) を参照してください。

パラメータ:
lineNumber - 行番号
戻り値:
指定された行番号にマッピングされた Location オブジェクトの List。
例外:
AbsentInformationException - このメソッド用の行番号情報が存在しない場合。

locationsOfLine

List<Location> locationsOfLine(String stratum,
                               String sourceName,
                               int lineNumber)
                               throws AbsentInformationException
指定された行番号とソース名にマッピングされたすべての Location オブジェクトを含む List を返します。

指定された行番号にマッピングされた Location を含むリストを返します。返されるリストには、コンパイラと VM のいずれかまたは両方により指定の行に割り当てられた個別のコードインデックス範囲の位置が含まれます。返される各位置は、この範囲の先頭に対応します。指定された行番号に実行可能コードが存在しない場合は、空のリストが返されます。 特に、native および abstract メソッドは常に空のリストを返します。

返されるリストは、指定された「層」のリストです。層の詳細は、Location を参照してください。

パラメータ:
stratum - 行番号とソース名の比較に使用する層。デフォルトの層を使用する場合は null
sourceName - 行番号を含むソース名。すべてのソース名に一致させる場合は null
lineNumber - 行番号
戻り値:
指定された行番号にマッピングされた Location オブジェクトの List。
例外:
AbsentInformationException - このメソッド用の行番号情報が存在しない場合。または sourceNamenull でないのにソース名情報が存在しない場合。
導入されたバージョン:
1.4

locationOfCodeIndex

Location locationOfCodeIndex(long codeIndex)
指定されたコードインデックスに対応する Location を返します。

戻り値:
指定されたコードインデックスに対応する Location。指定された コードインデックスがこのメソッドに対して有効なコードインデックスでない場合は null (native および abstract メソッドは常に null を返す)。

variables

List<LocalVariable> variables()
                              throws AbsentInformationException
このメソッド内で宣言された各 LocalVariable を含むリストを返します。リストには、メソッドの各スコープ内で宣言されたすべての変数が含まれます。リストには、別個のスコープ内で宣言された、同じ名前を持つ複数の変数が含まれることがあります。引数はローカル変数と見なされ、返されるリスト内に配置されます。 ローカル変数の情報が得られない場合、呼び出されるメソッドの実際の引数の値は、StackFrame.getArgumentValues() メソッドを使って取得できます。

戻り値:
ターゲット VM のこのメソッド内で宣言されたローカル変数をミラー化する LocalVariable オブジェクトのリスト。 ローカル変数が存在しない場合は、長さゼロのリストを返す
例外:
AbsentInformationException - このメソッドの変数の情報がない場合。通常、native または abstract メソッドではローカル変数の情報は得られない (引数名の情報は得られない) ので、これらのメソッドはこの例外を返す。

variablesByName

List<LocalVariable> variablesByName(String name)
                                    throws AbsentInformationException
このメソッド内に指定された名前の各 LocalVariable を含むリストを返します。メソッド内の別個のスコープで同じ変数名が使用される場合、複数の変数が返されることがあります。

戻り値:
指定された名前の LocalVariable オブジェクトのリスト。一致するローカル変数が存在しない場合は、長さゼロのリストを返す。
例外:
AbsentInformationException - このメソッドの変数の情報がない場合。通常、native または abstract メソッドではローカル変数の情報は得られない (引数名の情報は得られない) ので、これらのメソッドはこの例外を返す。

arguments

List<LocalVariable> arguments()
                              throws AbsentInformationException
このメソッドの引数として宣言された各 LocalVariable を含むリストを返します。 ローカル変数の情報が得られない場合、呼び出されるメソッドの実際の引数の値は、StackFrame.getArgumentValues() メソッドを使って取得できます。

戻り値:
LocalVariable 引数のリスト。 引数が存在しない場合は、長さゼロのリストを返す。
例外:
AbsentInformationException - このメソッドの変数の情報がない場合。通常、native または abstract メソッドではローカル変数の情報は得られない (引数名の情報は得られない) ので、これらのメソッドはこの例外を返す。

bytecodes

byte[] bytecodes()
このメソッド用のバイトコードを含む配列を返します。

この操作は、ターゲット仮想マシンでサポートされていないことがあります。この操作がサポートされているかどうかを確認するには、VirtualMachine.canGetBytecodes() を使用します。

戻り値:
バイトコードの配列。abstract および native メソッドは長さゼロの配列を返す。
例外:
UnsupportedOperationException - ターゲット Virtual Machine がバイトコードの取得をサポートしない場合。

location

Location location()
このメソッドに関連した実行可能コードが存在する場合、このメソッドの Location を返します。

定義:
インタフェース Locatable 内の location
戻り値:
このミラーの Location。このメソッドが abstract メソッドの場合は null。native メソッドは codeIndex が -1 の Location オブジェクトを返す

equals

boolean equals(Object obj)
指定されたオブジェクトがこのメソッドと等しいかどうか比較します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - the reference object with which to compare.
戻り値:
オブジェクトがメソッドである場合、および両方が (同じ VM 内の同じクラスまたはインタフェース内で宣言された) 同じメソッドをミラー化する場合は true。
関連項目:
Object.hashCode(), Hashtable

hashCode

int hashCode()
このメソッド用のハッシュコード値を返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
整数のハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

Java Debug Interface