Record Class JavaDynamicCallSite

java.lang.Object
java.lang.Record
dev.archunitjava.model.JavaDynamicCallSite
All Implemented Interfaces:
Comparable<JavaDynamicCallSite>

public record JavaDynamicCallSite(JavaMemberSignature caller, String invocationName, JvmMethodType invocationType, JavaMethodHandle bootstrapMethod, List<JavaBootstrapArgument> bootstrapArguments, int originalBootstrapArgumentCount, boolean bootstrapArgumentsTruncated, JavaDynamicCallSiteKind kind, Optional<JavaMethodHandle> lambdaImplementation, List<JvmReferenceType> functionalInterfaces, BytecodeLocation location) extends Record implements Comparable<JavaDynamicCallSite>
One unresolved invokedynamic call site with narrowly classified bootstrap evidence.
  • Field Details

    • MAXIMUM_BOOTSTRAP_ARGUMENTS

      public static final int MAXIMUM_BOOTSTRAP_ARGUMENTS
      See Also:
  • Constructor Details

    • JavaDynamicCallSite

      public JavaDynamicCallSite(JavaMemberSignature caller, String invocationName, JvmMethodType invocationType, JavaMethodHandle bootstrapMethod, List<JavaBootstrapArgument> bootstrapArguments, int originalBootstrapArgumentCount, boolean bootstrapArgumentsTruncated, JavaDynamicCallSiteKind kind, Optional<JavaMethodHandle> lambdaImplementation, List<JvmReferenceType> functionalInterfaces, BytecodeLocation location)
      Creates an instance of a JavaDynamicCallSite record class.
      Parameters:
      caller - the value for the caller record component
      invocationName - the value for the invocationName record component
      invocationType - the value for the invocationType record component
      bootstrapMethod - the value for the bootstrapMethod record component
      bootstrapArguments - the value for the bootstrapArguments record component
      originalBootstrapArgumentCount - the value for the originalBootstrapArgumentCount record component
      bootstrapArgumentsTruncated - the value for the bootstrapArgumentsTruncated record component
      kind - the value for the kind record component
      lambdaImplementation - the value for the lambdaImplementation record component
      functionalInterfaces - the value for the functionalInterfaces record component
      location - the value for the location record component
  • Method Details

    • compareTo

      public int compareTo(JavaDynamicCallSite other)
      Specified by:
      compareTo in interface Comparable<JavaDynamicCallSite>
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • caller

      public JavaMemberSignature caller()
      Returns the value of the caller record component.
      Returns:
      the value of the caller record component
    • invocationName

      public String invocationName()
      Returns the value of the invocationName record component.
      Returns:
      the value of the invocationName record component
    • invocationType

      public JvmMethodType invocationType()
      Returns the value of the invocationType record component.
      Returns:
      the value of the invocationType record component
    • bootstrapMethod

      public JavaMethodHandle bootstrapMethod()
      Returns the value of the bootstrapMethod record component.
      Returns:
      the value of the bootstrapMethod record component
    • bootstrapArguments

      public List<JavaBootstrapArgument> bootstrapArguments()
      Returns the value of the bootstrapArguments record component.
      Returns:
      the value of the bootstrapArguments record component
    • originalBootstrapArgumentCount

      public int originalBootstrapArgumentCount()
      Returns the value of the originalBootstrapArgumentCount record component.
      Returns:
      the value of the originalBootstrapArgumentCount record component
    • bootstrapArgumentsTruncated

      public boolean bootstrapArgumentsTruncated()
      Returns the value of the bootstrapArgumentsTruncated record component.
      Returns:
      the value of the bootstrapArgumentsTruncated record component
    • kind

      public JavaDynamicCallSiteKind kind()
      Returns the value of the kind record component.
      Returns:
      the value of the kind record component
    • lambdaImplementation

      public Optional<JavaMethodHandle> lambdaImplementation()
      Returns the value of the lambdaImplementation record component.
      Returns:
      the value of the lambdaImplementation record component
    • functionalInterfaces

      public List<JvmReferenceType> functionalInterfaces()
      Returns the value of the functionalInterfaces record component.
      Returns:
      the value of the functionalInterfaces record component
    • location

      public BytecodeLocation location()
      Returns the value of the location record component.
      Returns:
      the value of the location record component