接口的使用
java.lang.constant.DirectMethodHandleDesc
使用 DirectMethodHandleDesc 的包
包
描述
代表 nominal descriptors 运行时实体(例如类或方法句柄)和类文件实体(例如常量池条目或
invokedynamic 调用站点)的类和接口。
-
DirectMethodHandleDesc 在 java.lang.constant 中的用法
修饰符和类型Field描述static final DirectMethodHandleDescConstantDescs.BSM_ENUM_CONSTANTstatic final DirectMethodHandleDescConstantDescs.BSM_EXPLICIT_CASTMethodHandleDesc代表ConstantBootstraps.explicitCast(Lookup, String, Class, Object)ConstantBootstraps.explicitCast}static final DirectMethodHandleDescConstantDescs.BSM_GET_STATIC_FINALstatic final DirectMethodHandleDescConstantDescs.BSM_INVOKEstatic final DirectMethodHandleDescConstantDescs.BSM_NULL_CONSTANTstatic final DirectMethodHandleDescConstantDescs.BSM_PRIMITIVE_CLASSstatic final DirectMethodHandleDescConstantDescs.BSM_VARHANDLE_ARRAYstatic final DirectMethodHandleDescConstantDescs.BSM_VARHANDLE_FIELDstatic final DirectMethodHandleDescConstantDescs.BSM_VARHANDLE_STATIC_FIELD修饰符和类型方法描述DynamicConstantDesc.bootstrapMethod()返回一个MethodHandleDesc描述这个常量的引导方法。static DirectMethodHandleDescMethodHandleDesc.of(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor) 创建一个 MethodHandleDesc 对应于声明方法的调用、构造函数的调用或对字段的访问。static DirectMethodHandleDescConstantDescs.ofCallsiteBootstrap(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) static DirectMethodHandleDescConstantDescs.ofConstantBootstrap(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) static DirectMethodHandleDescMethodHandleDesc.ofConstructor(ClassDesc owner, ClassDesc... paramTypes) 返回对应于构造函数调用的 MethodHandleDescstatic DirectMethodHandleDescMethodHandleDesc.ofField(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType) 创建一个 MethodHandleDesc 对应于访问字段的方法句柄。static DirectMethodHandleDescMethodHandleDesc.ofMethod(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType) 创建一个 MethodHandleDesc 对应于声明的方法或构造函数的调用。java.lang.constant 中的方法,参数类型为 DirectMethodHandleDesc修饰符和类型方法描述static DynamicCallSiteDescDynamicCallSiteDesc.of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType) 为invokedynamic调用站点创建标称描述符,其引导方法没有静态参数且名称参数为ConstantDescs.DEFAULT_NAME。static DynamicCallSiteDescDynamicCallSiteDesc.of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType) 为引导方法没有静态参数的invokedynamic调用站点创建标称描述符。static DynamicCallSiteDescDynamicCallSiteDesc.of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs) 为invokedynamic呼叫站点创建标称描述符。static <T> DynamicConstantDesc<T>DynamicConstantDesc.of(DirectMethodHandleDesc bootstrapMethod) 返回一个动态常量的标称描述符,其引导程序没有静态参数,其名称参数为ConstantDescs.DEFAULT_NAME,并且其类型参数始终与引导程序方法返回类型相同。static <T> DynamicConstantDesc<T>DynamicConstantDesc.of(DirectMethodHandleDesc bootstrapMethod, ConstantDesc... bootstrapArgs) 返回名称参数为ConstantDescs.DEFAULT_NAME且类型参数始终与引导方法返回类型相同的动态常量的标称描述符。static <T> ConstantDescDynamicConstantDesc.ofCanonical(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs) 返回动态常量的标称描述符,如果常量引导程序是众所周知的并且更具体的标称描述符类型(例如,ClassDesc)可用,则将其转换为更具体的类型。static <T> DynamicConstantDesc<T>DynamicConstantDesc.ofNamed(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs) 返回动态常量的标称描述符。java.lang.constant 中的构造函数,参数类型为 DirectMethodHandleDesc修饰符构造方法描述protectedDynamicConstantDesc(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs) 为动态常量创建标称描述符。