Java Debug Interface

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

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

public interface Method
extends TypeComponent, Locatable, Comparable

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

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

メソッドの概要
 List allLineLocations()
          このメソッド内の各実行可能ソース行の位置を示す Location オブジェクトを含むリストを返します。
 List allLineLocations(String stratum, String sourceName)
          このメソッド内の各実行可能ソース行の位置を示す Location オブジェクトを含むリストを返します。
 List arguments()
          このメソッドの引数として宣言された各 LocalVariable を含むリストを返します。
 List argumentTypeNames()
          このメソッドの各仮パラメータ型のテキスト表現を含むリストを返します。
 List argumentTypes()
          このメソッドの各仮パラメータの型を含むリストを返します。
 byte[] bytecodes()
          このメソッド用のバイトコードを含む配列を返します。
 boolean equals(Object obj)
          指定されたオブジェクトがこのメソッドと等しいかどうか比較します。
 int hashCode()
          このメソッド用のハッシュコード値を返します。
 boolean isAbstract()
          このメソッドが abstract かどうかを判定します。
 boolean isConstructor()
          このメソッドがコンストラクタかどうかを判定します。
 boolean isNative()
          このメソッドが native かどうかを判定します。
 boolean isObsolete()
          このメソッドが obsolete かどうかを判定します。
 boolean isStaticInitializer()
          このメソッドが static 初期化子かどうかを判定します。
 boolean isSynchronized()
          このメソッドが synchronized かどうかを判定します。
 Location location()
          このメソッドに関連した実行可能コードが存在する場合、このメソッドの Location を返します。
 Location locationOfCodeIndex(long codeIndex)
          指定されたコードインデックスに対応する Location を返します。
 List locationsOfLine(int lineNumber)
          指定された行番号にマッピングされたすべての Location オブジェクトを含む List を返します。
 List locationsOfLine(String stratum, String sourceName, int lineNumber)
          指定された行番号とソース名にマッピングされたすべての Location オブジェクトを含む List を返します。
 Type returnType()
          このメソッドの宣言で指定された戻り値の型を返します。
 String returnTypeName()
          このメソッドの宣言で指定された戻り値の型のテキスト表現を返します。
 List variables()
          このメソッド内で宣言された各 LocalVariable を含むリストを返します。
 List variablesByName(String name)
          このメソッド内での指定された名前の各 LocalVariable を含むリストを返します。
 
インタフェース com.sun.jdi.TypeComponent から継承したメソッド
declaringType, 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

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

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

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

returnType

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

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

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

argumentTypeNames

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

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

戻り値:
String 型のリスト。リスト内の各要素がこのメソッドの各パラメータに対応している。これらの要素は、コンパイル時に指定された仮パラメータの型を表現している

argumentTypes

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

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

戻り値:
Type 型のリスト。リスト内の各要素がこのメソッドの各パラメータに対応している。これらの要素は、コンパイル時に指定された仮パラメータの型を表現している
例外:
ClassNotLoadedException - 型が、適切なクラスローダを使ってロードされていない場合
関連項目:
Type

isAbstract

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

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

isSynchronized

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

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

isNative

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

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

isConstructor

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

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

isStaticInitializer

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

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

isObsolete

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

戻り値:
このメソッドが VirtualMachine.redefineClasses(java.util.Map) を使用して等価でないメソッドと置換された場合は true
導入されたバージョン:
1.4

allLineLocations

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

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

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

allLineLocations

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

各 Location は、特定のソース行をコードインデックスが示す特定範囲にマッピングします。範囲の開始位置を判定するには Location.codeIndex() を使います。戻り値のリスト内の要素は、コードインデックスの昇順に格納されます。

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

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

戻り値のリストは、指定された「層」に対するものです。層の詳細については、Locationを参照してください。

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

locationsOfLine

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

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

パラメータ:
lineNumber - 行番号
戻り値:
指定された行番号へマップする Location オブジェクトのリスト
例外:
AbsentInformationException - このメソッド用の行番号情報が存在しない場合

locationsOfLine

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

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

戻り値のリストは、指定された「層」に対するものです。層の詳細については、Locationを参照してください。

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

locationOfCodeIndex

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

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

variables

public List variables()
               throws AbsentInformationException
このメソッド内で宣言された各 LocalVariable を含むリストを返します。リストには、メソッドの各スコープ内で宣言されたすべての変数が含まれます。リストには、別個のスコープ内で宣言された、同じ名前を持つ複数の変数が含まれることがあります。引数はローカル変数と見なされ、返されるリスト内に配置されます。

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

variablesByName

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

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

arguments

public List arguments()
               throws AbsentInformationException
このメソッドの引数として宣言された各 LocalVariable を含むリストを返します。

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

bytecodes

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

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

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

location

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

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

equals

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

オーバーライド:
クラス Object 内の equals
戻り値:
オブジェクトがメソッドで、両方が (同じ VM 内の同じクラスまたはインタフェース内で宣言された) 同じメソッドをミラー化する場合は true

hashCode

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

オーバーライド:
クラス Object 内の hashCode
戻り値:
整数のハッシュコード

Java Debug Interface