public class DynamicCallSiteDesc extends Object
invokedynamic call site. Concrete subtypes of DynamicCallSiteDesc should be immutable and their behavior should not rely on object identity.
| Modifier and Type | Method | Description | 
|---|---|---|
| ConstantDesc[] | bootstrapArgs() | Returns  ConstantDescs describing the bootstrap arguments for theinvokedynamic. | 
| MethodHandleDesc | bootstrapMethod() | Returns a  MethodHandleDescdescribing the bootstrap method for theinvokedynamic. | 
| final boolean | equals | Compares the specified object with this descriptor for equality. | 
| final int | hashCode() | Returns a hash code value for the object. | 
| String | invocationName() | Returns the invocation name that would appear in the  NameAndTypeoperand of theinvokedynamic. | 
| MethodTypeDesc | invocationType() | Returns a  MethodTypeDescdescribing the invocation type that would appear in theNameAndTypeoperand of theinvokedynamic. | 
| static DynamicCallSiteDesc | of | Creates a nominal descriptor for an  invokedynamiccall site whose bootstrap method has no static arguments and for which the name parameter isConstantDescs.DEFAULT_NAME. | 
| static DynamicCallSiteDesc | of | Creates a nominal descriptor for an  invokedynamiccall site whose bootstrap method has no static arguments. | 
| static DynamicCallSiteDesc | of | Creates a nominal descriptor for an  invokedynamiccall site. | 
| CallSite | resolveCallSiteDesc | Reflectively invokes the bootstrap method with the specified arguments, and return the resulting  CallSite | 
| String | toString() | Returns a compact textual description of this call site description, including the bootstrap method, the invocation name and type, and the static bootstrap arguments. | 
| DynamicCallSiteDesc | withArgs | Returns a nominal descriptor for an  invokedynamiccall site whose bootstrap method, name, and invocation type are the same as this one, but with the specified bootstrap arguments. | 
| DynamicCallSiteDesc | withNameAndType | Returns a nominal descriptor for an  invokedynamiccall site whose bootstrap and bootstrap arguments are the same as this one, but with the specified invocationName and invocation invocationType | 
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs)
invokedynamic call site.bootstrapMethod - a DirectMethodHandleDesc describing the bootstrap method for the invokedynamic
invocationName - The unqualified name that would appear in the NameAndType operand of the invokedynamic
invocationType - a MethodTypeDesc describing the invocation type that would appear in the NameAndType operand of the invokedynamic
bootstrapArgs - ConstantDescs describing the static arguments to the bootstrap, that would appear in the BootstrapMethods attributeNullPointerException - if any parameter or its contents are null
IllegalArgumentException - if the invocation name has the incorrect formatpublic static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)
invokedynamic call site whose bootstrap method has no static arguments.bootstrapMethod - The bootstrap method for the invokedynamic
invocationName - The invocationName that would appear in the NameAndType operand of the invokedynamic
invocationType - The invocation invocationType that would appear in the NameAndType operand of the invokedynamic
NullPointerException - if any parameter is nullIllegalArgumentException - if the invocation name has the incorrect formatpublic static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType)
invokedynamic call site whose bootstrap method has no static arguments and for which the name parameter is ConstantDescs.DEFAULT_NAME.bootstrapMethod - a DirectMethodHandleDesc describing the bootstrap method for the invokedynamic
invocationType - a MethodTypeDesc describing the invocation type that would appear in the NameAndType operand of the invokedynamic
NullPointerException - if any parameter is nullpublic DynamicCallSiteDesc withArgs(ConstantDesc... bootstrapArgs)
invokedynamic call site whose bootstrap method, name, and invocation type are the same as this one, but with the specified bootstrap arguments.bootstrapArgs - ConstantDescs describing the static arguments to the bootstrap, that would appear in the BootstrapMethods attributeNullPointerException - if the argument or its contents are null
public DynamicCallSiteDesc withNameAndType(String invocationName, MethodTypeDesc invocationType)
invokedynamic call site whose bootstrap and bootstrap arguments are the same as this one, but with the specified invocationName and invocation invocationTypeinvocationName - The unqualified name that would appear in the NameAndType operand of the invokedynamic
invocationType - a MethodTypeDesc describing the invocation type that would appear in the NameAndType operand of the invokedynamic
NullPointerException - if any parameter is nullIllegalArgumentException - if the invocation name has the incorrect formatpublic String invocationName()
NameAndType operand of the invokedynamic.public MethodTypeDesc invocationType()
MethodTypeDesc describing the invocation type that would appear in the NameAndType operand of the invokedynamic.public MethodHandleDesc bootstrapMethod()
MethodHandleDesc describing the bootstrap method for the invokedynamic.invokedynamic
public ConstantDesc[] bootstrapArgs()
ConstantDescs describing the bootstrap arguments for the invokedynamic. The returned array is always non-null. A zero length array is returned if this DynamicCallSiteDesc has no bootstrap arguments.invokedynamic
public CallSite resolveCallSiteDesc(MethodHandles.Lookup lookup) throws Throwable
CallSite
lookup - The MethodHandles.Lookup used to resolve class namesCallSite
Throwable - if any exception is thrown by the bootstrap methodpublic final boolean equals(Object o)
true if and only if the specified object is also a DynamicCallSiteDesc, and both descriptors have equal bootstrap methods, bootstrap argument lists, invocation name, and invocation type.public final int hashCode()
ObjectHashMap.  The general contract of hashCode is: 
hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. equals method, then calling the 
     hashCode method on each of the two objects must produce the same integer result. equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables. public String toString()
    © 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/constant/DynamicCallSiteDesc.html