- 所有父级接口:
Accessible,Comparable<Method>,Locatable,Mirror,TypeComponent
TypeComponent 。
- 自从:
- 1.3
- 参见:
-
方法总结
修饰符和类型方法描述返回一个列表,其中包含此方法中每个可执行源代码行的Location对象。allLineLocations(String stratum, String sourceName) 返回一个列表,其中包含此方法中每个可执行源代码行的Location对象。返回一个列表,其中包含声明为此方法的参数的每个LocalVariable。返回一个列表,其中包含此方法的每个形参类型的文本表示形式。返回一个列表,其中包含此方法的每个形式参数的类型。byte[]返回包含此方法的字节码的数组。boolean比较指定的 Object 与此方法是否相等。inthashCode()返回此方法的哈希码值。boolean确定此方法是否是抽象的。booleanisBridge()确定此方法是否为桥接方法。boolean确定此方法是否为构造方法。default boolean确定此方法是否为默认方法booleanisNative()确定此方法是否为本机方法。boolean确定此方法是否已过时。boolean确定此方法是否为静态初始值设定项。boolean确定此方法是否已同步。boolean确定此方法是否接受可变数量的参数。location()如果有可执行代码与之关联,则返回此方法的Location。locationOfCodeIndex(long codeIndex) 返回给定代码索引的Location。locationsOfLine(int lineNumber) 返回一个列表,其中包含映射到给定行号的所有Location对象。locationsOfLine(String stratum, String sourceName, int lineNumber) 返回一个列表,其中包含映射到给定行号和源名称的所有Location对象。返回在此方法的声明中指定的返回类型。返回返回类型的文本表示形式,如该方法的声明中所指定。返回包含此方法中声明的每个LocalVariable的列表。variablesByName(String name) 返回一个列表,其中包含此方法中给定名称的每个LocalVariable。在接口 com.sun.jdi.Accessible 中声明的方法
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers在接口 java.lang.Comparable 中声明的方法
compareTo在接口 com.sun.jdi.Mirror 中声明的方法
toString, virtualMachine在接口 com.sun.jdi.TypeComponent 中声明的方法
declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature
-
方法详情
-
returnTypeName
String returnTypeName()返回返回类型的文本表示形式,如该方法的声明中所指定。即使尚未创建或加载该类型,此类型名称也始终可用。
- 返回:
-
包含返回类型名称的
String。
-
returnType
返回在此方法的声明中指定的返回类型。注意:如果此方法的返回类型是引用类型(类、接口或数组),并且尚未由声明类型的类加载器创建或加载 - 即
declaringType().classLoader(),则将抛出 ClassNotLoadedException。此外,引用类型可能已加载但尚未准备好,在这种情况下将返回该类型,但尝试对返回的类型执行某些操作(例如fields())将抛出ClassNotPreparedException。使用ReferenceType.isPrepared()确定是否准备了引用类型。- 返回:
-
此方法的返回值
Type。 - 抛出:
ClassNotLoadedException- 如果尚未通过适当的类加载器创建或加载该类型。- 参见:
-
argumentTypeNames
返回一个列表,其中包含此方法的每个形参类型的文本表示形式。即使尚未创建或加载类型,此list也始终可用。
-
argumentTypes
返回一个列表,其中包含此方法的每个形式参数的类型。注意:如果有任何参数的类型是引用类型(类、接口或数组)并且尚未由声明类型的类加载器创建或加载 - 即
declaringType().classLoader(),则将抛出 ClassNotLoadedException。此外,引用类型可能已加载但尚未准备好,在这种情况下将返回列表,但尝试对该类型执行某些操作(例如fields())将抛出ClassNotPreparedException。使用ReferenceType.isPrepared()确定是否准备了引用类型。- 返回:
-
返回
Type的List,此方法的每个参数都有一个 List 元素。每个元素代表编译时指定的形式参数的类型。如果形式参数是用省略号声明的,那么它被表示为省略号之前的类型的数组。 - 抛出:
ClassNotLoadedException- 如果类型尚未通过适当的类加载器加载。- 参见:
-
isAbstract
boolean isAbstract()确定此方法是否是抽象的。- 返回:
true如果方法被声明为抽象的;false否则。
-
isDefault
default boolean isDefault()确定此方法是否为默认方法- 返回:
true如果该方法被声明为默认;false否则。- 自从:
- 1.8
-
isSynchronized
boolean isSynchronized()确定此方法是否已同步。- 返回:
true如果方法被声明为同步;false否则。
-
isNative
boolean isNative()确定此方法是否为本机方法。- 返回:
true如果该方法声明为本机;false否则。
-
isVarArgs
boolean isVarArgs()确定此方法是否接受可变数量的参数。- 返回:
true如果该方法接受可变数量的参数,false否则。- 自从:
- 1.5
-
isBridge
boolean isBridge()确定此方法是否为桥接方法。桥接方法定义在Java 语言规范.- 返回:
true如果该方法是桥接方法,false否则。- 自从:
- 1.5
-
isConstructor
boolean isConstructor()确定此方法是否为构造方法。- 返回:
true如果该方法是构造函数;false否则。
-
isStaticInitializer
boolean isStaticInitializer()确定此方法是否为静态初始值设定项。- 返回:
true如果该方法是静态初始化程序;false否则。
-
isObsolete
boolean isObsolete()确定此方法是否已过时。- 返回:
true如果此方法已被VirtualMachine.redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)操作废弃。- 自从:
- 1.4
-
allLineLocations
返回一个列表,其中包含此方法中每个可执行源代码行的Location对象。此方法等效于
allLineLocations(vm.getDefaultStratum(),null)- 有关详细信息,请参阅allLineLocations(String,String)。- 返回:
-
所有源代码行
Location对象的列表。 - 抛出:
AbsentInformationException- 如果此(非本机、非抽象)方法没有行号信息。
-
allLineLocations
List <Location > allLineLocations(String stratum, String sourceName) throws AbsentInformationException 返回一个列表,其中包含此方法中每个可执行源代码行的Location对象。每个位置将源代码行映射到一系列代码索引。范围的开始可以通过
Location.codeIndex()确定。返回的列表按代码索引(从低到高)排序。如果编译器和/或 VM 将该行映射到两个或多个不相交的代码索引范围,则返回的列表可能包含特定行号的多个位置。
如果该方法是原生的或抽象的,则返回一个空列表。
返回的列表是针对指定的地层(有关地层的描述,请参阅
Location)。- 参数:
stratum- 从ReferenceType.defaultStratum()检索信息的层或nullsourceName- 仅返回此源文件中的位置或null返回位置。- 返回:
-
所有源代码行
Location对象的列表。 - 抛出:
AbsentInformationException- 如果此(非本机、非抽象)方法没有行号信息。或者如果来源名称是非null并且源名称信息不存在。- 自从:
- 1.4
-
locationsOfLine
返回一个列表,其中包含映射到给定行号的所有Location对象。此方法等效于
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对象。返回一个列表,其中包含映射到给定行的每个
Location。返回的列表将包含每个不相交的代码索引范围的位置,这些代码索引已由编译器和/或 VM 分配给给定行。每个返回的位置对应于这个范围的开始。如果指定行号处没有可执行代码,则返回一个空列表;具体来说,本机和抽象方法将始终返回一个空列表。返回的列表是针对指定的地层(有关地层的描述,请参阅
Location)。- 参数:
stratum- 用于比较行号和源名称的层,或 null 以使用默认层sourceName- 包含行号的源名称,或者为 null 以匹配所有源名称lineNumber- 行号- 返回:
-
映射到给定行号的
Location对象列表。 - 抛出:
AbsentInformationException- 如果此方法没有行号信息。或者如果来源名称是非null并且源名称信息不存在。- 自从:
- 1.4
-
locationOfCodeIndex
返回给定代码索引的Location。- 返回:
-
对应于给定代码索引的
Location或 null 如果指定代码索引不是此方法的有效代码索引(本机和抽象方法将始终返回 null)。
-
variables
返回包含此方法中声明的每个LocalVariable的列表。该列表包括在方法内的任何范围内声明的任何变量。它可能包含在不相交范围内声明的多个同名变量。参数被认为是局部变量,将出现在返回的列表中。如果局部变量信息不可用,可以使用StackFrame.getArgumentValues()方法获取方法调用的实参值- 返回:
LocalVariable对象的列表,它们镜像目标 VM 中此方法中声明的局部变量。如果没有局部变量,则返回一个零长度列表。- 抛出:
AbsentInformationException- 如果此方法没有变量信息。通常,局部变量信息对于本地或抽象方法是不可用的(即它们的参数名称信息是不可用的),因此它们将抛出此异常。
-
variablesByName
返回一个列表,其中包含此方法中给定名称的每个LocalVariable。如果在方法内的不相交范围内使用相同的变量名称,则可以返回多个变量。- 返回:
-
给定名称的
LocalVariable对象列表。如果没有匹配的局部变量,则返回零长度列表。 - 抛出:
AbsentInformationException- 如果此方法没有变量信息。通常,局部变量信息对于本地或抽象方法是不可用的(即它们的参数名称信息是不可用的),因此它们将抛出此异常。
-
arguments
返回一个列表,其中包含声明为此方法的参数的每个LocalVariable。如果局部变量信息不可用,可以使用StackFrame.getArgumentValues()方法获取方法调用的实参值- 返回:
LocalVariable参数列表。如果没有参数,则返回零长度列表。- 抛出:
AbsentInformationException- 如果此方法没有变量信息。通常,局部变量信息对于本地或抽象方法是不可用的(即它们的参数名称信息是不可用的),因此它们将抛出此异常。
-
bytecodes
byte[] bytecodes()返回包含此方法的字节码的数组。并非所有目标虚拟机都支持此操作。使用
VirtualMachine.canGetBytecodes()确定是否支持该操作。- 返回:
- 字节码数组;抽象和本机方法将返回一个零长度数组。
- 抛出:
UnsupportedOperationException- 如果目标虚拟机不支持字节码的检索。
-
location
Location location()如果有可执行代码与之关联,则返回此方法的Location。 -
equals
比较指定的 Object 与此方法是否相等。 -
hashCode
int hashCode()返回此方法的哈希码值。
-