t

com.avsystem.commons.misc

CaseMethods

trait CaseMethods extends Product

Implements common case class & case object methods normally synthesized by the compiler. Extending this trait by case class or case object prevents the compiler from synthesizing these methods which can reduce generated JS size at penalty of not-exactly-precise implementation of canEqual and equals and its runtime performance. For this reason, non-abstract classes extending this trait should always be final. If possible, prefer using AbstractCase rather than this trait.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CaseMethods
  2. Product
  3. Equals
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def productArity: Int
    Definition Classes
    Product
  2. abstract def productElement(n: Int): Any
    Definition Classes
    Product

Concrete Value Members

  1. def canEqual(that: Any): Boolean
    Definition Classes
    CaseMethods → Equals
  2. def equals(obj: Any): Boolean
    Definition Classes
    CaseMethods → Equals → Any
  3. def hashCode(): Int
    Definition Classes
    CaseMethods → Any
  4. def productIterator: Iterator[Any]
    Definition Classes
    CaseMethods → Product
  5. def productPrefix: String
    Definition Classes
    Product
  6. def toString(): String
    Definition Classes
    CaseMethods → Any