public interface Method extends TypeComponent, Locatable, Comparable<Method>
TypeComponent
を参照してください。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)
指定された Object がこのメソッドと等しいかどうか比較します。
|
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<Location> |
locationsOfLine(String stratum, String sourceName, int lineNumber)
指定された行番号とソース名にマッピングされたすべての
Location オブジェクトを含むリストを返します。 |
Type |
returnType()
このメソッドの宣言で指定された戻り値の型を返します。
|
String |
returnTypeName()
このメソッドの宣言で指定された戻り値の型のテキスト表現を返します。
|
List<LocalVariable> |
variables()
このメソッドで宣言された各
LocalVariable を含むリストを返します。 |
List<LocalVariable> |
variablesByName(String name)
このメソッドで指定された名前の各
LocalVariable を含むリストを返します。 |
declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature
toString, virtualMachine
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers
compareTo
String returnTypeName()
この型名は、型がまだ作成またはロードされていない場合でも利用可能です。
Type returnType() throws ClassNotLoadedException
注:このメソッドの戻り値の型が参照型 (クラス、インタフェース、または配列) であり、宣言する型のクラスローダー (declaringType()
.classLoader()
) によって作成またはロードされていない場合、ClassNotLoadedException がスローされます。また、参照型がロードされていても準備が整っていない場合があります。この場合、型は返されますが、ロードされた型に対して fields()
などの操作を実行しようとすると、ClassNotPreparedException
がスローされます。参照型の準備ができているかどうかを確認するには、ReferenceType.isPrepared()
を使用します。
Type
。ClassNotLoadedException
- 型が、適切なクラスローダーを使ってロードまたは作成されていない場合。Type
, Field.type() - for usage examples
List<String> argumentTypeNames()
このリストは、型がまだ作成またはロードされていない場合でも利用可能です。
List<Type> argumentTypes() throws ClassNotLoadedException
注:参照型 (クラス、インタフェース、または配列) のパラメータが存在し、このパラメータが宣言する型のクラスローダー (declaringType()
.classLoader()
) によって作成またはロードされていない場合、ClassNotLoadedException がスローされます。また、参照型の場合、ロードされていても準備が整っていない場合があります。この場合、リストは返されますが、ロードされた型に対して fields()
などの操作を実行しようとすると、ClassNotPreparedException
がスローされます。参照型の準備ができているかどうかを確認するには、ReferenceType.isPrepared()
を使用します。
Type
の List
。このメソッドのパラメータ 1 個につき List 要素 1 個を返す。各要素はコンパイル時に指定された仮パラメータの型を表す。仮パラメータの宣言で省略記号が使われている場合は、型の配列として省略記号の前に置かれる。ClassNotLoadedException
- 適切なクラスローダーによる型のロードがまだ行われていない場合。Type
boolean isAbstract()
true
、そうでない場合は false。boolean isSynchronized()
true
、そうでない場合は false。boolean isNative()
true
、そうでない場合は false。boolean isVarArgs()
true
、そうでない場合は false。boolean isBridge()
true
、そうでない場合は false。boolean isConstructor()
true
、そうでない場合は false。boolean isStaticInitializer()
true
、そうでない場合は false。boolean isObsolete()
VirtualMachine.redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)
操作により廃止されている場合は true
。List<Location> allLineLocations() throws AbsentInformationException
Location
オブジェクトを含むリストを返します。
このメソッドは、allLineLocations(vm.getDefaultStratum(),null)
と同等です (詳細は allLineLocations(String,String)
を参照)。
Location
オブジェクトのリスト。AbsentInformationException
- この (非 native で非 abstract) メソッドに対する行番号情報が存在しない場合。List<Location> allLineLocations(String stratum, String sourceName) throws AbsentInformationException
Location
オブジェクトを含むリストを返します。
各位置では、特定のソース行がコードインデックスの特定の範囲にマップされています。この範囲の開始点は、Location.codeIndex()
によって調べることができます。返されるリスト内の要素は、コードインデックスの昇順に格納されます。
返されるリストには、特定の行番号に対して複数の位置が含まれる可能性がありますが、これは、コンパイラや VM が特定の行を、連続していない複数のコードインデックス範囲へマッピングする場合があるからです。
メソッドが native または abstract の場合、空リストが返されます。
返されるリストは、指定された層のリストです。層の詳細は、Location
を参照してください。
stratum
- 情報取得元の層。ReferenceType.defaultStratum()
を使う場合は null
sourceName
- 特定のソースファイル内の位置だけを取得する場合はそのファイル名、そうでない場合は null
。Location
オブジェクトのリスト。AbsentInformationException
- この (非 native で非 abstract) メソッドに対する行番号情報が存在しない場合。または sourceName が null
でないのにソース名情報が存在しない場合。List<Location> locationsOfLine(int lineNumber) throws AbsentInformationException
Location
オブジェクトを含むリストを返します。
このメソッドは、locationsOfLine(vm.getDefaultStratum(), null, lineNumber)
と同等です (詳細は locationsOfLine(java.lang.String,java.lang.String,int)
を参照)。
lineNumber
- 行番号Location
オブジェクトのリスト。AbsentInformationException
- このメソッド用の行番号情報が存在しない場合。List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber) throws AbsentInformationException
Location
オブジェクトを含むリストを返します。
指定された行番号にマッピングされた Location
を含むリストを返します。返されるリストには、コンパイラと VM のいずれかまたは両方により指定の行に割り当てられた個別のコードインデックス範囲の位置が含まれます。返される各位置は、この範囲の先頭に対応します。指定された行番号に実行可能コードが存在しない場合は、空のリストが返されます。特に、native および abstract メソッドは常に空のリストを返します。
返されるリストは、指定された層のリストです。層の詳細は、Location
を参照してください。
stratum
- 行番号とソース名の比較に使用する層。デフォルトの層を使用する場合は nullsourceName
- 行番号を含むソース名。すべてのソース名に一致させる場合は nulllineNumber
- 行番号Location
オブジェクトのリスト。AbsentInformationException
- このメソッド用の行番号情報が存在しない場合。または sourceName が null
でないのにソース名情報が存在しない場合。Location locationOfCodeIndex(long codeIndex)
Location
を返します。Location
。指定されたコードインデックスがこのメソッドに対して有効なコードインデックスでない場合は null (native および abstract メソッドは常に null を返す)。List<LocalVariable> variables() throws AbsentInformationException
LocalVariable
を含むリストを返します。リストには、メソッドの各スコープ内で宣言されたすべての変数が含まれます。リストには、別個のスコープ内で宣言された、同じ名前を持つ複数の変数が含まれることがあります。引数はローカル変数と見なされ、返されるリスト内に配置されます。
ローカル変数の情報が得られない場合、呼び出されるメソッドの実際の引数の値は、StackFrame.getArgumentValues()
メソッドを使って取得できます。LocalVariable
オブジェクトのリスト。ローカル変数が存在しない場合は、長さゼロのリストを返す。AbsentInformationException
- このメソッドの変数の情報がない場合。通常、native または abstract メソッドではローカル変数の情報は得られない (引数名の情報は得られない) ので、これらのメソッドはこの例外を返す。List<LocalVariable> variablesByName(String name) throws AbsentInformationException
LocalVariable
を含むリストを返します。メソッド内の別個のスコープで同じ変数名が使用される場合、複数の変数が返されることがあります。LocalVariable
オブジェクトのリスト。一致するローカル変数が存在しない場合は、長さゼロのリストを返す。AbsentInformationException
- このメソッドの変数の情報がない場合。通常、native または abstract メソッドではローカル変数の情報は得られない (引数名の情報は得られない) ので、これらのメソッドはこの例外を返す。List<LocalVariable> arguments() throws AbsentInformationException
LocalVariable
を含むリストを返します。
ローカル変数の情報が得られない場合、呼び出されるメソッドの実際の引数の値は、StackFrame.getArgumentValues()
メソッドを使って取得できます。LocalVariable
引数のリスト。引数が存在しない場合は、長さゼロのリストを返す。AbsentInformationException
- このメソッドの変数の情報がない場合。通常、native または abstract メソッドではローカル変数の情報は得られない (引数名の情報は得られない) ので、これらのメソッドはこの例外を返す。byte[] bytecodes()
この操作は、ターゲット仮想マシンでサポートされていないことがあります。この操作がサポートされているかどうかを確認するには、VirtualMachine.canGetBytecodes()
を使用します。
UnsupportedOperationException
- ターゲット Virtual Machine がバイトコードの取得をサポートしない場合。boolean equals(Object obj)
equals
、クラス: Object
obj
- 比較対象の参照オブジェクト。Object.hashCode()
, HashMap
int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Copyright © 1999, 2013, Oracle and/or its affiliates. All rights reserved.