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

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 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(sym: Symbol, paramss: List[List[Symbol]], givenTp: Type)(using Context): Type

The given type, unless sym is a constructor, in which case the type of the constructed instance is returned

The given type, unless sym is a constructor, in which case the type of the constructed instance is returned

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 cls need constructor proxies to be generated?

Does symbol cls 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 one leading non-implicit parameter list

if isConstructor, make sure it has one leading non-implicit parameter list

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