class TreeUnpickler[Tasty <: TastyUniverse] extends AnyRef
TreeUnpickler
is responsible for traversing all trees in the "ASTs" section of a TASTy file, which represent the
definitions inside the classfile associated with the root class/module. TreeUnpickler
will enter the public api
of the TASTy file into the symbolTable of TastyUniverse
. "Public API" includes annotations when they are
simple trees.
Where possible, TreeUnpickler
should not directly manipulate values created by the symbolTable, but use
operations provided by TastyUniverse
- Self Type
- TreeUnpickler[Tasty]
- Source
- TreeUnpickler.scala
- Alphabetic
- By Inheritance
- TreeUnpickler
- AnyRef
- Any
- by SafeEq
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TreeUnpickler(reader: TastyReader, nameAtRef: (NameRef) => TastyName)(implicit tasty: Tasty)
- reader
the reader from which to unpickle
- nameAtRef
an index of names from the tasty file of this unpickler
- tasty
the handle on the
TastyUniverse
Type Members
- class Completer extends Tasty.TastyCompleter
A completer that captures the current position and context, which then uses the position to discover the symbol to compute the info for.
- class OwnerTree extends AnyRef
A lazy datastructure that records how definitions are nested in TASTY data.
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. - class TreeReader extends AnyRef
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def !==(u: TreeUnpickler[Tasty]): Boolean
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toSafeEq[TreeUnpickler[Tasty]] performed by method SafeEq in scala.tools.nsc.tasty.
- Definition Classes
- SafeEq
- Annotations
- @inline()
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toany2stringadd[TreeUnpickler[Tasty]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (TreeUnpickler[Tasty], B)
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toArrowAssoc[TreeUnpickler[Tasty]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ===(u: TreeUnpickler[Tasty]): Boolean
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toSafeEq[TreeUnpickler[Tasty]] performed by method SafeEq in scala.tools.nsc.tasty.
- Definition Classes
- SafeEq
- Annotations
- @inline()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (TreeUnpickler[Tasty]) => Boolean, msg: => Any): TreeUnpickler[Tasty]
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toEnsuring[TreeUnpickler[Tasty]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (TreeUnpickler[Tasty]) => Boolean): TreeUnpickler[Tasty]
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toEnsuring[TreeUnpickler[Tasty]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): TreeUnpickler[Tasty]
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toEnsuring[TreeUnpickler[Tasty]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): TreeUnpickler[Tasty]
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toEnsuring[TreeUnpickler[Tasty]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def enterTopLevel(classRoot: Tasty.Symbol, objectRoot: Tasty.Symbol)(implicit ctx: Tasty.Context): Unit
Enter all toplevel classes and objects into their scopes
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def readWith[T <: AnyRef](treader: TreeReader, owner: Tasty.Symbol, mode: TastyMode, source: AbstractFile, op: (TreeReader) => (Tasty.Context) => T)(implicit ctx: Tasty.Context): T
- def symFromNoCycle(noCycle: NoCycle): Tasty.Symbol
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- implicit val tasty: Tasty
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def unsupportedWhen(cond: Boolean, msg: => String)(implicit ctx: Tasty.Context): Unit
- Attributes
- protected
- Annotations
- @inline()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toStringFormat[TreeUnpickler[Tasty]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (TreeUnpickler[Tasty], B)
- Implicit
- This member is added by an implicit conversion from TreeUnpickler[Tasty] toArrowAssoc[TreeUnpickler[Tasty]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
The Scala compiler and reflection APIs.