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