クラスの使用
jdk.dynalink.linker.GuardedInvocation
-
GuardedInvocationを使用するパッケージ パッケージ 説明 jdk.dynalink invokedynamicコール・サイトのリンクに使用されるインタフェースおよびクラスが含まれます。jdk.dynalink.linker 独自の言語固有のオブジェクト・モデルおよび型変換を実装するために言語ランタイムに必要なインタフェースおよびクラスが含まれます。jdk.dynalink.linker.support 一部のクラスおよび様々なユーティリティの基本的な実装を提供することで、言語ランタイムが独自の言語固有のオブジェクト・モデルおよび型変換を実装しやすくするクラスが含まれています。 -
-
jdk.dynalinkでのGuardedInvocationの使用
GuardedInvocation型のパラメータを持つjdk.dynalinkのメソッド 修飾子と型 メソッド 説明 voidRelinkableCallSite. relink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)このメソッドは、コール・サイトが再リンクされるたびに動的リンカーによってコールされます(ただし、例外についてはRelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle)を参照してください)。voidRelinkableCallSite. resetAndRelink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)このメソッドは、コールサイトが再リンクされるたびに動的リンカーによって呼び出され、かつリンカーが、以前のリンク状態(つまり、RelinkableCallSite.relink(GuardedInvocation, MethodHandle)と異なる)を破棄するようコールサイトに要求します。 -
jdk.dynalink.linkerでのGuardedInvocationの使用
GuardedInvocationを返すjdk.dynalink.linkerのメソッド 修飾子と型 メソッド 説明 GuardedInvocationGuardedInvocation. addSwitchPoint(SwitchPoint newSwitchPoint)スイッチ・ポイントを追加して、新しいガード付き呼出しを作成します。GuardedInvocationGuardedInvocation. asType(MethodType newType)MethodHandle.asType(MethodType)が呼出しとそのガードに適用されたかのように、呼出しのタイプを変更します(戻り型がbooleanに変更され、パラメータ数がガードに対して切り捨てられる可能性があります)。GuardedInvocationGuardedInvocation. asType(CallSiteDescriptor desc)MethodHandle.asType(MethodType)が呼出しとそのガードに適用されたかのように、呼出しのタイプを変更します(戻り型がガードのブール型に変更された場合)。GuardedInvocationGuardedInvocation. asType(LinkerServices linkerServices, MethodType newType)LinkerServices.asType(MethodHandle, MethodType)が呼出しとそのガードに適用されたかのように、呼出しのタイプを変更します(戻り型がbooleanに変更され、パラメータ数がガードに対して切り捨てられる可能性があります)。GuardedInvocationGuardedInvocation. asTypeSafeReturn(LinkerServices linkerServices, MethodType newType)LinkerServices.asTypeLosslessReturn(MethodHandle, MethodType)が呼出しに適用され、LinkerServices.asType(MethodHandle, MethodType)がそのガードに適用された場合(戻り型がbooleanに変更され、パラメータ数がガードに対して切り捨てられる可能性がある場合)のように、呼出しのタイプを変更します。GuardedInvocationGuardingTypeConverterFactory. convertToType(Class<?> sourceType, Class<?> targetType, Supplier<MethodHandles.Lookup> lookupSupplier)指定されたソース・タイプの値を受け取り、指定されたターゲット・タイプに変換された値を返すガード付き型変換を返します。GuardedInvocationGuardedInvocation. dropArguments(int pos, Class<?>... valueTypes)MethodHandles.dropArguments(MethodHandle, int, Class...)を使用して、呼出しとガード(存在し、少なくともposパラメータがある場合)の両方で引数を削除する呼出しを行います。GuardedInvocationGuardedInvocation. dropArguments(int pos, List<Class<?>> valueTypes)MethodHandles.dropArguments(MethodHandle, int, List)を使用して、呼出しとガード(存在し、少なくともposパラメータがある場合)の両方で引数を削除する呼出しを行います。GuardedInvocationGuardedInvocationTransformer. filter(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices)ガードされた呼出しの場合、同じまたは異なる可能性があるガードの呼出しを返します。GuardedInvocationGuardedInvocation. filterArguments(int pos, MethodHandle... filters)MethodHandles.filterArguments(MethodHandle, int, MethodHandle...)を使用して、呼出しとガード(存在し、少なくともpos + 1パラメータがある場合)の両方に引数フィルタを適用します。GuardedInvocationGuardingDynamicLinker. getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)コール・サイトで指定した引数を使用して、特定の呼出しに適したガード付き呼出しを作成します。GuardedInvocationLinkerServices. getGuardedInvocation(LinkRequest linkRequest)このリンカーサービスオブジェクトを公開するDynamicLinkerに委任されたガード付き呼び出しを作成します。GuardedInvocationGuardedInvocation. replaceMethods(MethodHandle newInvocation, MethodHandle newGuard)異なるメソッドを使用して新しいガード付き呼出しを作成し、スイッチ・ポイントを保持します。GuardedInvocation型のパラメータを持つjdk.dynalink.linkerのメソッド 修飾子と型 メソッド 説明 GuardedInvocationGuardedInvocationTransformer. filter(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices)ガードされた呼出しの場合、同じまたは異なる可能性があるガードの呼出しを返します。 -
jdk.dynalink.linker.supportでのGuardedInvocationの使用
GuardedInvocationを返すjdk.dynalink.linker.supportのメソッド 修飾子と型 メソッド 説明 GuardedInvocationCompositeGuardingDynamicLinker. getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)呼び出しをそのコンポーネントリンカーに委任します。
-