Uses of Interface jdk.dynalink.linker.LinkerServices (Java SE 21 & JDK 21)
Description: use: module: jdk.dynalink, package: jdk.dynalink.linker, interface: LinkerServices

# Uses of Interface
jdk.dynalink.linker.LinkerServices

Packages that use LinkerServices
Package
Description
jdk.dynalink
Contains interfaces and classes that are used to link an `invokedynamic` call site.
jdk.dynalink.beans
Contains the linker for ordinary Java objects.
jdk.dynalink.linker
Contains interfaces and classes needed by language runtimes to implement their own language-specific object models and type conversions.
jdk.dynalink.linker.support
Contains classes that make it more convenient for language runtimes to implement their own language-specific object models and type conversions by providing basic implementations of some classes as well as various utilities.

- ## Uses of LinkerServices in jdk.dynalink

  Methods in jdk.dynalink that return LinkerServices
  Modifier and Type
  Method
  Description
  `LinkerServices`
  DynamicLinker.`getLinkerServices()`
  Returns the object representing the linker services of this class that are normally exposed to individual `language-specific linkers`.

- ## Uses of LinkerServices in jdk.dynalink.beans

  Methods in jdk.dynalink.beans with parameters of type LinkerServices
  Modifier and Type
  Method
  Description
  `MethodHandle`
  MissingMemberHandlerFactory.`createMissingMemberHandler(LinkRequest linkRequest, LinkerServices linkerServices)`
  Returns a method handle suitable for implementing missing member behavior for a particular link request.
  `GuardedInvocation`
  BeansLinker.`getGuardedInvocation(LinkRequest request, LinkerServices linkerServices)`

- ## Uses of LinkerServices in jdk.dynalink.linker

  Methods in jdk.dynalink.linker with parameters of type LinkerServices
  Modifier and Type
  Method
  Description
  `GuardedInvocation`
  GuardedInvocation.`asType(LinkerServices linkerServices, MethodType newType)`
  Changes the type of the invocation, as if `asType(MethodHandle, MethodType)` was applied to its invocation and its guard, if it has one (with return type changed to boolean, and parameter count potentially truncated for the guard).
  `GuardedInvocation`
  GuardedInvocation.`asTypeSafeReturn(LinkerServices linkerServices, MethodType newType)`
  Changes the type of the invocation, as if `asTypeLosslessReturn(MethodHandle, MethodType)` was applied to its invocation and `asType(MethodHandle, MethodType)` applied to its guard, if it has one (with return type changed to boolean, and parameter count potentially truncated for the guard).
  `GuardedInvocation`
  GuardedInvocationTransformer.`filter(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices)`
  Given a guarded invocation, return either the same or potentially different guarded invocation.
  `GuardedInvocation`
  GuardingDynamicLinker.`getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)`
  Creates a guarded invocation appropriate for a particular invocation with the specified arguments at a call site.

- ## Uses of LinkerServices in jdk.dynalink.linker.support

  Methods in jdk.dynalink.linker.support with parameters of type LinkerServices
  Modifier and Type
  Method
  Description
  `static MethodHandle`
  Guards.`asType(LinkerServices linkerServices, MethodHandle test, MethodType type)`
  Takes a method handle intended to be used as a guard, and adapts it to the requested type, but returning a boolean.
  `GuardedInvocation`
  CompositeGuardingDynamicLinker.`getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)`
  Delegates the call to its component linkers.
  `GuardedInvocation`
  CompositeTypeBasedGuardingDynamicLinker.`getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)`