Java Debug Interface

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

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

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

ターゲット VM 内の static メソッドまたはインスタンスメソッドです。フィールドおよびメソッドのミラーに関する一般的な情報は、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()
このメソッドの各仮パラメータ型のテキスト表現を含むリストを返します。

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

戻り値:
String 型の リスト。リスト内の各要素がこのメソッドの各パラメータに対応している。これらの要素は、コンパイル時に指定された仮パラメータの型を表現している。仮パラメータが省略符号で宣言されている場合、仮パラメータの型は省略符号で宣言される前の型の配列として表される

argumentTypes

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

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

例外:
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 は、特定のソース行をコードインデックスが示す特定範囲にマッピングします。範囲の開始位置を判定するには 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 オブジェクトのリスト
例外:
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 オブジェクトのリスト
例外:
AbsentInformationException - このメソッドに対する行番号情報が存在しない場合、あるいは sourceNamenull でないのにソース名情報が存在しない場合
導入されたバージョン:
1.4

locationOfCodeIndex

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

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

variables

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

戻り値:
ターゲット 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 を含むリストを返します。

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

bytecodes

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

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

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

location

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

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

equals

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

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

hashCode

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

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

Java Debug Interface