scala.tools.nsc.typechecker.Namers
This trait assembles what's needed for synthesizing derived methods.
A synthetic method which performs the implicit conversion implied by the declaration of an implicit class.
Implements lazy value accessors:
Given a case class case class C[Ts] (ps: Us) Add the following methods to toScope:
Given a case class case class C[Ts] (ps: Us) Add the following methods to toScope:
is the class definition of the case class
is the namer of the module class (the comp. obj)
Creates a new symbol and assigns it to the tree, returning the symbol
If no companion object for clazz exists yet, create one by applying creator
to
class definition tree.
If no companion object for clazz exists yet, create one by applying creator
to
class definition tree.
the companion object symbol.
Enter symbol into given scope and return symbol itself
Enter symbol into context's scope and return symbol itself
Enter a module symbol.
Enter a module symbol. The tree parameter can be either a module definition or a class definition.
Logic to handle name conflicts of synthetically generated symbols We handle right now: t6227
TypeSig is invoked by monoTypeCompleters.
TypeSig is invoked by monoTypeCompleters. It returns the type of a definition which is then assigned to the corresponding symbol (typeSig itself does not need to assign the type to the symbol, but it can if necessary).
Check that symbol's definition is well-formed.
Check that symbol's definition is well-formed. This means:
abstract
modifier only for classesoverride
modifier never for classesdef
modifier never for parameters of case classes