Record Class LambdaSite

java.lang.Object
java.lang.Record
io.github.jabrena.juno.linker.LambdaSite

public record LambdaSite(LambdaCallSite callSite, String syntheticClassName, MethodRef interfaceMethod, MethodHandleRef implementation, List<String> captureTypes, String instantiatedMethodDescriptor) extends Record
Fully resolved LambdaMetafactory.metafactory call site.
  • Constructor Details

    • LambdaSite

      public LambdaSite(LambdaCallSite callSite, String syntheticClassName, MethodRef interfaceMethod, MethodHandleRef implementation, List<String> captureTypes, String instantiatedMethodDescriptor)
      Creates an instance of a LambdaSite record class.
      Parameters:
      callSite - the value for the callSite record component
      syntheticClassName - the value for the syntheticClassName record component
      interfaceMethod - the value for the interfaceMethod record component
      implementation - the value for the implementation record component
      captureTypes - the value for the captureTypes record component
      instantiatedMethodDescriptor - the value for the instantiatedMethodDescriptor record component
  • Method Details

    • isCapturing

      public boolean isCapturing()
    • 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. All components in this record class are compared with Objects::equals(Object,Object).
      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.
    • callSite

      public LambdaCallSite callSite()
      Returns the value of the callSite record component.
      Returns:
      the value of the callSite record component
    • syntheticClassName

      public String syntheticClassName()
      Returns the value of the syntheticClassName record component.
      Returns:
      the value of the syntheticClassName record component
    • interfaceMethod

      public MethodRef interfaceMethod()
      Returns the value of the interfaceMethod record component.
      Returns:
      the value of the interfaceMethod record component
    • implementation

      public MethodHandleRef implementation()
      Returns the value of the implementation record component.
      Returns:
      the value of the implementation record component
    • captureTypes

      public List<String> captureTypes()
      Returns the value of the captureTypes record component.
      Returns:
      the value of the captureTypes record component
    • instantiatedMethodDescriptor

      public String instantiatedMethodDescriptor()
      Returns the value of the instantiatedMethodDescriptor record component.
      Returns:
      the value of the instantiatedMethodDescriptor record component