t

scala.tools.nsc.typechecker

SyntheticMethods

trait SyntheticMethods extends TreeDSL

Synthetic method implementations for case classes and case objects.

Added to all case classes/objects: def productArity: Int def productElement(n: Int): Any def productPrefix: String def productIterator: Iterator[Any]

Selectively added to case classes/objects, unless a non-default implementation already exists: def equals(other: Any): Boolean def hashCode(): Int def canEqual(other: Any): Boolean def toString(): String

Special handling: protected def readResolve(): AnyRef

Self Type
Analyzer
Source
SyntheticMethods.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SyntheticMethods
  2. TreeDSL
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract val global: Global
    Definition Classes
    TreeDSL

Concrete Value Members

  1. object CODE
    Definition Classes
    TreeDSL
  2. def addSyntheticMethods(templ: Global.Template, clazz0: Global.Symbol, context: Analyzer.Context): Global.Template

    Add the synthetic methods to case classes.

  3. final def caseAccessorName(caseclazz: Global.Symbol, paramName: Global.TermName): Global.TermName

    Does not force the info of caseclazz

  4. final def clearRenamedCaseAccessors(caseclazz: Global.Symbol): Unit