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
var
myDecls
: Scope
private
var
myModuleClassFn
: Context => Symbol
private
var
mySourceModuleFn
: Context => Symbol
def
apply
(
sym:
Symbol
)
: R
def
apply
(
module:
TermSymbol
,
modcls:
ClassSymbol
)
: R
def
complete
(
denot:
SymDenotation
)
(
implicit
ctx:
Context
)
: Unit
Sets all missing fields of given denotation
Sets all missing fields of given denotation
def
decls
: Scope
def
moduleClass
(
implicit
ctx:
Context
)
: Symbol
private
def
myDecls_=
(
x$1:
Scope
)
: Unit
private
def
myModuleClassFn_=
(
x$1:
Context => Symbol
)
: Unit
private
def
mySourceModuleFn_=
(
x$1:
Context => Symbol
)
: Unit
def
proxy
: LazyType
A proxy to this lazy type that keeps the complete operation but provides fresh slots for scope/sourceModule/moduleClass
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