TreeUnpickler

class TreeUnpickler(reader: TastyReader, nameAtRef: NameTable, posUnpicklerOpt: Option[PositionUnpickler], commentUnpicklerOpt: Option[CommentUnpickler])

Unpickler for typed trees

Value Params
commentUnpicklerOpt

the unpickler for comments, if it exists

posUnpicklerOpt

the unpickler for positions, if it exists

reader

the reader from which to unpickle

Companion
object
class Object
trait Matchable
class Any

Type members

Classlikes

class Completer(reader: TastyReader)(using @constructorOnly _ctx: Context) extends LazyType
class LazyReader[T <: AnyRef](reader: TreeReader, owner: Symbol, mode: Mode, source: SourceFile, op: TreeReader => Context => T) extends Lazy[T]
class OwnerTree(val addr: Addr, tag: Int, reader: TreeReader, val end: Addr)

A lazy datastructure that records how definitions are nested in TASTY data. The structure is lazy because it needs to be computed only for forward references to symbols that happen before the referenced symbol is created (see symbolAt). Such forward references are rare.

A lazy datastructure that records how definitions are nested in TASTY data. The structure is lazy because it needs to be computed only for forward references to symbols that happen before the referenced symbol is created (see symbolAt). Such forward references are rare.

Value Params
addr

The address of tree representing an owning definition, NoAddr for root tree

end

The end of the owning definition

reader

The reader to be used for scanning for children

tag

The tag at addr. Used to determine which subtrees to scan for children (i.e. if tag is template, don't scan member defs, as these belong already to enclosing class).

class TreeReader(val reader: TastyReader)

Value members

Concrete methods

def enter(roots: Set[SymDenotation])(using Context): Unit

Enter all toplevel classes and objects into their scopes

Enter all toplevel classes and objects into their scopes

Value Params
roots

a set of SymDenotations that should be overwritten by unpickling

def unpickle(mode: UnpickleMode)(using Context): List[Tree]

The unpickled trees

The unpickled trees