java.lang.Object
java.lang.constant.DynamicCallSiteDesc
- 自从:
- 12
-
方法总结
修饰符和类型方法描述返回ConstantDescs,描述invokedynamic的引导程序参数。返回一个MethodHandleDesc描述invokedynamic的引导方法。final boolean比较指定对象与此描述符是否相等。final inthashCode()返回对象的哈希码值。返回将出现在invokedynamic的NameAndType操作数中的调用名称。static DynamicCallSiteDescof(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType) 为invokedynamic调用站点创建标称描述符,其引导方法没有静态参数且名称参数为ConstantDescs.DEFAULT_NAME。static DynamicCallSiteDescof(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType) 为引导方法没有静态参数的invokedynamic调用站点创建标称描述符。static DynamicCallSiteDescof(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs) 为invokedynamic呼叫站点创建标称描述符。以指定参数反射调用 bootstrap 方法,并返回结果CallSitetoString()返回此调用站点描述的紧凑文本描述,包括引导方法、调用名称和类型以及静态引导参数。withArgs(ConstantDesc... bootstrapArgs) 返回invokedynamic调用站点的标称描述符,其引导方法、名称和调用类型与此相同,但具有指定的引导参数。withNameAndType(String invocationName, MethodTypeDesc invocationType) 返回invokedynamic调用站点的标称描述符,其 bootstrap 和 bootstrap 参数与此相同,但具有指定的 invocationName 和 invocation invocationType
-
方法详情
-
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc ... bootstrapArgs) 为invokedynamic呼叫站点创建标称描述符。- 参数:
bootstrapMethod- 一个DirectMethodHandleDesc描述了invokedynamic的引导方法invocationName- 将出现在invokedynamic的NameAndType操作数中的非限定名称invocationType- 一个MethodTypeDesc描述将出现在invokedynamic的NameAndType操作数中的调用类型bootstrapArgs-ConstantDesc描述引导程序的静态参数,将出现在BootstrapMethods属性中- 返回:
- 名义描述符
- 抛出:
NullPointerException- 如果任何参数或其内容是nullIllegalArgumentException- 如果调用名称的格式不正确- 看Java 虚拟机规范:
-
4.2.2 非限定名称
-
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType) 为引导方法没有静态参数的invokedynamic调用站点创建标称描述符。- 参数:
bootstrapMethod-invokedynamic的引导方法invocationName- 将出现在invokedynamic的NameAndType操作数中的调用名称invocationType- 将出现在invokedynamic的NameAndType操作数中的调用 invocationType- 返回:
- 名义描述符
- 抛出:
NullPointerException- 如果任何参数为空IllegalArgumentException- 如果调用名称的格式不正确
-
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType) 为invokedynamic调用站点创建标称描述符,其引导方法没有静态参数且名称参数为ConstantDescs.DEFAULT_NAME。- 参数:
bootstrapMethod- 一个DirectMethodHandleDesc描述了invokedynamic的引导方法invocationType- 一个MethodTypeDesc描述将出现在invokedynamic的NameAndType操作数中的调用类型- 返回:
- 名义描述符
- 抛出:
NullPointerException- 如果任何参数为空
-
withArgs
返回invokedynamic调用站点的标称描述符,其引导方法、名称和调用类型与此相同,但具有指定的引导参数。- 参数:
bootstrapArgs-ConstantDesc描述引导程序的静态参数,将出现在BootstrapMethods属性中- 返回:
- 名义描述符
- 抛出:
NullPointerException- 如果参数或其内容是null
-
withNameAndType
返回invokedynamic调用站点的标称描述符,其 bootstrap 和 bootstrap 参数与此相同,但具有指定的 invocationName 和 invocation invocationType- 参数:
invocationName- 将出现在invokedynamic的NameAndType操作数中的非限定名称invocationType- 一个MethodTypeDesc描述将出现在invokedynamic的NameAndType操作数中的调用类型- 返回:
- 名义描述符
- 抛出:
NullPointerException- 如果任何参数为空IllegalArgumentException- 如果调用名称的格式不正确- 看Java 虚拟机规范:
-
4.2.2 非限定名称
-
invocationName
返回将出现在invokedynamic的NameAndType操作数中的调用名称。- 返回:
- 调用名称
-
invocationType
- 返回:
- 调用类型
-
bootstrapMethod
返回一个MethodHandleDesc描述invokedynamic的引导方法。- 返回:
invokedynamic的引导方法
-
bootstrapArgs
- 返回:
invokedynamic的引导程序参数
-
resolveCallSiteDesc
以指定参数反射调用 bootstrap 方法,并返回结果CallSite- 参数:
lookup-MethodHandles.Lookup用于解析类名- 返回:
CallSite- 抛出:
Throwable- 如果引导方法抛出任何异常
-
equals
比较指定对象与此描述符是否相等。当且仅当指定对象也是 DynamicCallSiteDesc 并且两个描述符具有相同的引导方法、引导参数列表、调用名称和调用类型时返回true。 -
hashCode
public final int hashCode()从类复制的描述:Object返回对象的哈希码值。支持此方法是为了哈希表的好处,例如HashMap提供的哈希表。hashCode的总合同为: -
toString
返回此调用站点描述的紧凑文本描述,包括引导方法、调用名称和类型以及静态引导参数。
-