Record Class RegistrationResult

java.lang.Object
java.lang.Record
com.darkcollective.relix.symbol.RegistrationResult
Record Components:
symbol - the symbol that was attempted; never null
registered - true if the symbol was actually inserted or replaced in the table
errors - diagnostics collected during registration; never null, may be empty

public record RegistrationResult(Symbol symbol, boolean registered, List<SymbolError> errors) extends Record
The outcome of a SymbolTable.register(com.darkcollective.relix.symbol.Symbol) call.

Three outcomes are possible:

  1. Success — registered() is true and errors() is empty. The symbol is in the table.
  2. Registered with warnings — registered() is true and errors() contains one or more SymbolError.Kind.SHADOW_WARNING entries. The symbol replaced an existing definition; callers may want to surface the warnings.
  3. Rejected — registered() is false and errors() contains one or more SymbolError.Kind.SHADOW_FORBIDDEN entries. The table is unchanged.
  • Constructor Summary

    Constructors
    Constructor
    Description
    RegistrationResult(Symbol symbol, boolean registered, List<SymbolError> errors)
    Creates an instance of a RegistrationResult record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    final boolean
    Indicates whether some other object is "equal to" this one.
    Returns the value of the errors record component.
    final int
    Returns a hash code value for this object.
    boolean
    Returns true if registration succeeded but produced warnings.
    boolean
    Returns true if the symbol was rejected and not added to the table.
    boolean
    Returns true if registration succeeded with no errors or warnings.
    boolean
    Returns the value of the registered record component.
    Returns the value of the symbol record component.
    final String
    Returns a string representation of this record class.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RegistrationResult

      public RegistrationResult(Symbol symbol, boolean registered, List<SymbolError> errors)
      Creates an instance of a RegistrationResult record class.
      Parameters:
      symbol - the value for the symbol record component
      registered - the value for the registered record component
      errors - the value for the errors record component
  • Method Details

    • isSuccess

      public boolean isSuccess()
      Returns true if registration succeeded with no errors or warnings.
      Returns:
      true when registered and no errors
    • hasWarnings

      public boolean hasWarnings()
      Returns true if registration succeeded but produced warnings.
      Returns:
      true when registered with at least one warning
    • isRejected

      public boolean isRejected()
      Returns true if the symbol was rejected and not added to the table.
      Returns:
      true when not registered
    • 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 '=='.
      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.
    • symbol

      public Symbol symbol()
      Returns the value of the symbol record component.
      Returns:
      the value of the symbol record component
    • registered

      public boolean registered()
      Returns the value of the registered record component.
      Returns:
      the value of the registered record component
    • errors

      public List<SymbolError> errors()
      Returns the value of the errors record component.
      Returns:
      the value of the errors record component