Record Class HarvestedType

java.lang.Object
java.lang.Record
org.ek9lang.compiler.fuzz.HarvestedType

public record HarvestedType(String name, SymbolGenus genus, boolean isAbstract, List<HarvestedMethod> methods, List<HarvestedMethod> operators, List<HarvestedMethod> constructors, List<HarvestedField> fields, String superTypeName, boolean isOpen, List<String> traitNames, boolean isGeneric, List<String> typeParameterNames, boolean isDispatcher) extends Record
Harvested type information from a compiled template. Shared contract between TemplateProbeGenerator, TemplateEnrichmentGenerator, SymbolHarvester, and UserTestGenerator.
  • Constructor Details

    • HarvestedType

      public HarvestedType(String name, SymbolGenus genus, boolean isAbstract, List<HarvestedMethod> methods, List<HarvestedMethod> operators, List<HarvestedMethod> constructors, List<HarvestedField> fields, String superTypeName, boolean isOpen, List<String> traitNames, boolean isGeneric, List<String> typeParameterNames, boolean isDispatcher)
      Creates an instance of a HarvestedType record class.
      Parameters:
      name - the value for the name record component
      genus - the value for the genus record component
      isAbstract - the value for the isAbstract record component
      methods - the value for the methods record component
      operators - the value for the operators record component
      constructors - the value for the constructors record component
      fields - the value for the fields record component
      superTypeName - the value for the superTypeName record component
      isOpen - the value for the isOpen record component
      traitNames - the value for the traitNames record component
      isGeneric - the value for the isGeneric record component
      typeParameterNames - the value for the typeParameterNames record component
      isDispatcher - the value for the isDispatcher record component
  • Method Details

    • 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.
    • name

      public String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • genus

      public SymbolGenus genus()
      Returns the value of the genus record component.
      Returns:
      the value of the genus record component
    • isAbstract

      public boolean isAbstract()
      Returns the value of the isAbstract record component.
      Returns:
      the value of the isAbstract record component
    • methods

      public List<HarvestedMethod> methods()
      Returns the value of the methods record component.
      Returns:
      the value of the methods record component
    • operators

      public List<HarvestedMethod> operators()
      Returns the value of the operators record component.
      Returns:
      the value of the operators record component
    • constructors

      public List<HarvestedMethod> constructors()
      Returns the value of the constructors record component.
      Returns:
      the value of the constructors record component
    • fields

      public List<HarvestedField> fields()
      Returns the value of the fields record component.
      Returns:
      the value of the fields record component
    • superTypeName

      public String superTypeName()
      Returns the value of the superTypeName record component.
      Returns:
      the value of the superTypeName record component
    • isOpen

      public boolean isOpen()
      Returns the value of the isOpen record component.
      Returns:
      the value of the isOpen record component
    • traitNames

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

      public boolean isGeneric()
      Returns the value of the isGeneric record component.
      Returns:
      the value of the isGeneric record component
    • typeParameterNames

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

      public boolean isDispatcher()
      Returns the value of the isDispatcher record component.
      Returns:
      the value of the isDispatcher record component