Synthetics

dotty.tools.dotc.cc.Synthetics
object Synthetics

Classification and transformation methods for function methods and synthetic case class methods that need to be treated specially. In particular, compute capturing types for some of these methods which have inferred (result-)types that need to be established under separate compilation.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Synthetics.type

Members list

Value members

Concrete methods

def isExcluded(sym: Symbol)(using Context): Boolean

Method is excluded from regular capture checking. Excluded are synthetic class members

Method is excluded from regular capture checking. Excluded are synthetic class members

  • that override a synthesized case class symbol, or
  • the fromProduct method, or
  • members transformed specially as indicated by needsTransform.

Attributes

Is sym a synthetic apply, copy, or copy default getter method? The types of these symbols are transformed in a special way without looking at the definitions's RHS

Is sym a synthetic apply, copy, or copy default getter method? The types of these symbols are transformed in a special way without looking at the definitions's RHS

Attributes

def transform(symd: SymDenotation, info: Type)(using Context): SymDenotation

Transform the type of a method either to its type under capture checking or back to its previous type.

Transform the type of a method either to its type under capture checking or back to its previous type.

Value parameters

info

The possibly already mapped info of sym

sym

The method to transform @pre needsTransform(sym) must hold.

Attributes