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