Dotty Documentation

0.14.0-bin-SNAPSHOT

abstract class LazyType
extends UncachedGroundType with Function1 with Function2

Instances of LazyType are carried by uncompleted symbols. Note: LazyTypes double up as (constant) functions from Symbol and from (TermSymbol, ClassSymbol) to LazyType. That way lazy types can be directly passed to symbol creation methods in Symbols that demand instances of these function types.

[-] Constructors

LazyType ( )

[-] Members

[+] private val NoSymbolFn : Context => NoSymbol.type
[+] private var myDecls : Scope
[+] private var myModuleClassFn : Context => Symbol
[+] private var mySourceModuleFn : Context => Symbol
[+] def apply ( sym: Symbol ) : LazyType
[+] def apply ( module: TermSymbol , modcls: ClassSymbol ) : LazyType
[+] def complete ( denot: SymDenotation ) ( implicit ctx: Context ) : Unit

Sets all missing fields of given denotation

[+] def completerTypeParams ( sym: Symbol ) ( implicit ctx: Context ) : List [ TypeParamInfo ]

The type parameters computed by the completer before completion has finished

[+] def decls : Scope
[+] def moduleClass ( implicit ctx: Context ) : Symbol
[+] def proxy : LazyType

A proxy to this lazy type that keeps the complete operation but provides fresh slots for scope/sourceModule/moduleClass

[+] def sourceModule ( implicit ctx: Context ) : Symbol
[+] def withDecls ( decls: Scope ) : LazyType & LazyType
[+] def withModuleClass ( moduleClassFn: Context => Symbol ) : LazyType & LazyType
[+] def withSourceModule ( sourceModuleFn: Context => Symbol ) : LazyType & LazyType