## 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.

  - ### 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.