类的用途
jdk.dynalink.linker.GuardedInvocation
使用 GuardedInvocation 的包
包
描述
包含用于链接
invokedynamic 调用站点的接口和类。
包含普通 Java 对象的链接器。
包含语言运行时所需的接口和类,以实现它们自己的特定于语言的对象模型和类型转换。
包含的类通过提供某些类的基本实现以及各种实用程序,使语言运行时更方便地实现自己的特定于语言的对象模型和类型转换。
包含通过提供某些类的基本实现以及各种实用程序使使用 Dynalink 更加方便的类。
-
GuardedInvocation 在 jdk.dynalink 中的用法
jdk.dynalink 中的方法,参数类型为 GuardedInvocation修饰符和类型方法描述voidRelinkableCallSite.relink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) 每次重新链接调用站点时,动态链接器都会调用此方法(但请参阅RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle)以获取异常)。voidRelinkableCallSite.resetAndRelink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) 每次重新链接调用站点时,动态链接器都会调用此方法and链接器希望调用站点丢弃任何先前的链接状态(这就是它与RelinkableCallSite.relink(GuardedInvocation, MethodHandle)的不同之处)。 -
GuardedInvocation 在 jdk.dynalink.beans 中的用法
jdk.dynalink.beans 中返回 GuardedInvocation 的方法 -
GuardedInvocation 在 jdk.dynalink.linker 中的用法
jdk.dynalink.linker 中返回 GuardedInvocation 的方法修饰符和类型方法描述GuardedInvocation.addSwitchPoint(SwitchPoint newSwitchPoint) 使用添加的切换点创建新的受保护调用。GuardedInvocation.asType(MethodType newType) 更改调用的类型,就好像MethodHandle.asType(MethodType)应用于它的调用和它的守卫,如果它有一个(返回类型更改为boolean,并且参数计数可能被守卫截断)。GuardedInvocation.asType(CallSiteDescriptor desc) 更改调用的类型,就好像MethodHandle.asType(MethodType)应用于它的调用和它的守卫,如果它有一个(返回类型更改为守卫的boolean)。GuardedInvocation.asType(LinkerServices linkerServices, MethodType newType) 更改调用的类型,就好像LinkerServices.asType(MethodHandle, MethodType)应用于它的调用和它的守卫,如果它有一个(返回类型更改为boolean,并且参数计数可能被守卫截断)。GuardedInvocation.asTypeSafeReturn(LinkerServices linkerServices, MethodType newType) 更改调用的类型,就好像LinkerServices.asTypeLosslessReturn(MethodHandle, MethodType)应用于它的调用并且LinkerServices.asType(MethodHandle, MethodType)应用于它的守卫,如果它有一个(返回类型更改为boolean,并且参数计数可能被守卫截断)。GuardingTypeConverterFactory.convertToType(Class<?> sourceType, Class<?> targetType, Supplier<MethodHandles.Lookup> lookupSupplier) 返回一个受保护的类型转换,它接收指定源类型的值并返回转换为指定目标类型的值。GuardedInvocation.dropArguments(int pos, Class<?>... valueTypes) 使用MethodHandles.dropArguments(MethodHandle, int, Class...)进行调用,在调用和守卫(如果它存在并且至少具有pos参数)中删除参数。GuardedInvocation.dropArguments(int pos, List<Class<?>> valueTypes) 使用MethodHandles.dropArguments(MethodHandle, int, List)进行调用,在调用和守卫(如果它存在并且至少有pos个参数)中删除参数。GuardedInvocationTransformer.filter(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices) 给定一个受保护的调用,返回相同或可能不同的受保护调用。GuardedInvocation.filterArguments(int pos, MethodHandle... filters) 使用MethodHandles.filterArguments(MethodHandle, int, MethodHandle...)将参数过滤器应用于调用和守卫(如果它存在并且至少有pos + 1个参数)。GuardingDynamicLinker.getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices) 在调用站点使用指定参数创建适用于特定调用的受保护调用。LinkerServices.getGuardedInvocation(LinkRequest linkRequest) 创建一个受保护的调用,委托回公开此链接器服务对象的DynamicLinker。GuardedInvocation.replaceMethods(MethodHandle newInvocation, MethodHandle newGuard) 使用不同的方法创建一个新的受保护的调用,保留切换点。jdk.dynalink.linker 中的方法,参数类型为 GuardedInvocation修饰符和类型方法描述GuardedInvocationTransformer.filter(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices) 给定一个受保护的调用,返回相同或可能不同的受保护调用。 -
GuardedInvocation 在 jdk.dynalink.linker.support 中的用法
修饰符和类型方法描述CompositeGuardingDynamicLinker.getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices) 将调用委托给它的组件链接器。CompositeTypeBasedGuardingDynamicLinker.getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices) -
GuardedInvocation 在 jdk.dynalink.support 中的用法
jdk.dynalink.support 中的方法,参数类型为 GuardedInvocation修饰符和类型方法描述voidChainedCallSite.relink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) voidSimpleRelinkableCallSite.relink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) voidChainedCallSite.resetAndRelink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) voidSimpleRelinkableCallSite.resetAndRelink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)