NamerOps

object NamerOps

Operations that are shared between Namer and TreeUnpickler

class Object
trait Matchable
class Any

Type members

Classlikes

class ApplyProxyCompleter(constr: Symbol)(using x$2: Context) extends LazyType

The completer of a constructor proxy apply method

The completer of a constructor proxy apply method

Value members

Concrete methods

def addConstructorApplies(scope: MutableScope, cls: ClassSymbol, modcls: ClassSymbol)(using Context): scope.type

Add constructor proxy apply methods to scope. Proxies are for constructors in cls and they reside in modcls.

Add constructor proxy apply methods to scope. Proxies are for constructors in cls and they reside in modcls.

Add all necesssary constructor proxy symbols for members of class cls. This means:

Add all necesssary constructor proxy symbols for members of class cls. This means:

  • if a member is a class, or type alias, that needs a constructor companion, add one, provided no member with the same name exists.
  • if cls is a companion object of a class that needs a constructor companion, and cls does not already define or inherit an apply method, add apply methods for all constructors of the companion class.
def adjustModuleCompleter(completer: LazyType, name: Name)(using Context): LazyType

Add moduleClass or sourceModule functionality to completer for a module or module class

Add moduleClass or sourceModule functionality to completer for a module or module class

A new symbol that is the constructor companion for class cls

A new symbol that is the constructor companion for class cls

The completer of a constructor companion for class cls, where modul is the companion symbol and modcls is its class.

The completer of a constructor companion for class cls, where modul is the companion symbol and modcls is its class.

def effectiveResultType(ctor: Symbol, paramss: List[List[Symbol]])(using Context): Type

The type of the constructed instance is returned

The type of the constructed instance is returned

Value parameters:
ctor

the constructor

def findModuleBuddy(name: Name, scope: Scope)(using Context): Symbol

Find moduleClass/sourceModule in effective scope

Find moduleClass/sourceModule in effective scope

Turn modul into a constructor companion for class cls

Turn modul into a constructor companion for class cls

def methodType(paramss: List[List[Symbol]], resultType: Type, isJava: Boolean)(using Context): Type

The method type corresponding to given parameters and result type

The method type corresponding to given parameters and result type

Does symbol sym need constructor proxies to be generated?

Does symbol sym need constructor proxies to be generated?

def normalizeIfConstructor(paramss: List[List[Symbol]], isConstructor: Boolean)(using Context): List[List[Symbol]]

If isConstructor, make sure it has at least one non-implicit parameter list This is done by adding a () in front of a leading old style implicit parameter, or by adding a () as last -- or only -- parameter list if the constructor has only using clauses as parameters.

If isConstructor, make sure it has at least one non-implicit parameter list This is done by adding a () in front of a leading old style implicit parameter, or by adding a () as last -- or only -- parameter list if the constructor has only using clauses as parameters.

def typeConstructorCompanion(tsym: Symbol, prefix: Type, proxy: Symbol)(using Context): TermSymbol

Concrete fields

The flags of an apply method that serves as a constructor proxy

The flags of an apply method that serves as a constructor proxy