# 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)`