クラス jdk.dynalink.linker.GuardedInvocationの
使用
パッケージ
説明
invokedynamic
コール・サイトをリンクするためのインタフェースとクラスが含まれています。通常のJavaオブジェクト用のリンカーを含みます。
独自の言語固有のオブジェクト・モデルと型変換を実装するために、言語ランタイムに必要なインタフェースとクラスが含まれています。
言語ランタイムが、言語固有のオブジェクト・モデルを実装し、いくつかのクラスの基本的な実装とさまざまなユーティリティを提供することによってコンバージョンをより便利にするクラスが含まれています。
Dynalinkをより便利にするクラスが含まれています。クラスの基本的な実装だけでなく、さまざまなユーティリティを提供します。
-
jdk.dynalinkでのGuardedInvocationの使用
修飾子と型メソッド説明void
RelinkableCallSite.relink
(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) このメソッドは、呼び出しサイトが再リンクされるたびに動的リンカーによって呼び出されます。(例外についてはRelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle)
を参照してください)。void
RelinkableCallSite.resetAndRelink
(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) このメソッドは、コール・サイトが再リンクされるたびにダイナミック・リンカーによって呼び出され、リンカーはコール・サイトが以前のリンケージ・ステート(それはRelinkableCallSite.relink(GuardedInvocation, MethodHandle)
とどのように違うのですか?)を破棄することを望みます。 -
jdk.dynalink.beansでのGuardedInvocationの使用
-
jdk.dynalink.linkerでのGuardedInvocationの使用
修飾子と型メソッド説明GuardedInvocation.addSwitchPoint
(SwitchPoint newSwitchPoint) スイッチ・ポイントが追加された新しい保護呼び出しを作成します。GuardedInvocation.asType
(MethodType newType) MethodHandle.asType(MethodType)
がその呼び出しとそのガードに適用されたかのように、呼び出しのタイプを変更します((戻り値の型がブール値に変更され、ガードに対してパラメータ・カウントが切り捨てられる可能性があります)が1つの場合)。GuardedInvocation.asType
(CallSiteDescriptor desc) MethodHandle.asType(MethodType)
がその呼び出しとそのガードに適用されたかのように、呼び出しのタイプを変更します((ガードの戻り値の型をブール値に変更)が1つの場合)。GuardedInvocation.asType
(LinkerServices linkerServices, MethodType newType) LinkerServices.asType(MethodHandle, MethodType)
がその呼び出しとそのガードに適用されたかのように、呼び出しのタイプを変更します((戻り値の型がブール値に変更され、ガードに対してパラメータ・カウントが切り捨てられる可能性があります)が1つの場合)。GuardedInvocation.asTypeSafeReturn
(LinkerServices linkerServices, MethodType newType) LinkerServices.asTypeLosslessReturn(MethodHandle, MethodType)
がその呼び出しに適用され、(戻り値の型がブール値に変更され、ガードに対してパラメータ・カウントが切り捨てられる可能性があります)が1つの場合、LinkerServices.asType(MethodHandle, MethodType)
がガードに適用されたかのように、呼び出しのタイプを変更します。GuardingTypeConverterFactory.convertToType
(Class<?> sourceType, Class<?> targetType, Supplier<MethodHandles.Lookup> lookupSupplier) 指定されたソース型の値を受け取り、指定されたターゲット型に変換された値を返す保護された型変換を返します。GuardedInvocation.dropArguments
(int pos, Class<?>... valueTypes) 呼び出しと(それが存在し、少なくともpos
パラメータ)の両方の引数をMethodHandles.dropArguments(MethodHandle, int, Class...)
でドロップする呼び出しを行います。GuardedInvocation.dropArguments
(int pos, List<Class<?>> valueTypes) 呼び出しと(それが存在し、少なくともpos
パラメータ)の両方の引数をMethodHandles.dropArguments(MethodHandle, int, List)
でドロップする呼び出しを行います。GuardedInvocationTransformer.filter
(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices) 守られた呼び出しが与えられた場合、同じまたは潜在的に異なる保護された呼び出しを返します。GuardedInvocation.filterArguments
(int pos, MethodHandle... filters) 呼び出しと(それが存在し、少なくともpos + 1
パラメータ)をMethodHandles.filterArguments(MethodHandle, int, MethodHandle...)
で保護する両方に引数フィルタを適用します。GuardingDynamicLinker.getGuardedInvocation
(LinkRequest linkRequest, LinkerServices linkerServices) コール・サイトで、指定された引数を持つ特定の呼び出しに適切な保護された呼び出しを作成します。LinkerServices.getGuardedInvocation
(LinkRequest linkRequest) このリンカー・サービス・オブジェクトを公開するDynamicLinker
に委譲された保護された呼び出しを作成します。GuardedInvocation.replaceMethods
(MethodHandle newInvocation, MethodHandle newGuard) スイッチ・ポイントを保持して、異なるメソッドで新しいガードされた呼び出しを作成します。修飾子と型メソッド説明GuardedInvocationTransformer.filter
(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices) 守られた呼び出しが与えられた場合、同じまたは潜在的に異なる保護された呼び出しを返します。 -
jdk.dynalink.linker.supportでのGuardedInvocationの使用
修飾子と型メソッド説明CompositeGuardingDynamicLinker.getGuardedInvocation
(LinkRequest linkRequest, LinkerServices linkerServices) 呼び出しをそのコンポーネント・リンカーに委譲します。CompositeTypeBasedGuardingDynamicLinker.getGuardedInvocation
(LinkRequest linkRequest, LinkerServices linkerServices) -
jdk.dynalink.supportでのGuardedInvocationの使用
修飾子と型メソッド説明void
ChainedCallSite.relink
(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) void
SimpleRelinkableCallSite.relink
(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) void
ChainedCallSite.resetAndRelink
(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke) void
SimpleRelinkableCallSite.resetAndRelink
(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)