class Scala2Unpickler
extends PickleBuffer with Embedded

Unpickle symbol table information descending from a class and/or module root from an array of bytes.

Constructors

Scala2Unpickler ( bytes: Array [ Byte ] , classRoot: ClassDenotation , moduleClassRoot: ClassDenotation )
Scala2Unpickler ( ictx: Context )

Members

[+] class ClassUnpickler
[+] class LocalUnpickler
[+] final object localMemberUnpickler
[+] private val bytes : Array [ Byte ]
[+] private val classRoot : ClassDenotation
[+] private val entries : Array [ AnyRef ]

A map from entry numbers to symbols, types, or annotations

A map from entry numbers to symbols, types, or annotations

[+] private val ictx : Context
[+] private val index : Array [ Int ]

A map from entry numbers to array offsets

A map from entry numbers to array offsets

[+] private val loadingMirror : Definitions
[+] private val moduleClassRoot : ClassDenotation
[+] val moduleRoot : SymDenotation
[+] private val symScopes : AnyRefMap [ Symbol, Scope ]

A map from symbols to their associated decls scopes

A map from symbols to their associated decls scopes

[+] protected def at ( i: Int , op: () => T ) : T

If entry at i is undefined, define it by performing operation op with readIndex at start of i'th entry. Restore readIndex afterwards.

If entry at i is undefined, define it by performing operation op with readIndex at start of i'th entry. Restore readIndex afterwards.

[+] protected def atReadPos ( start: Int , op: () => T ) : T
[+] private def checkVersion ( implicit ctx: Context ) : Unit
[+] protected def deferredAnnot ( end: Int ) ( implicit ctx: Context ) : Annotation

A deferred annotation that can be completed by reading the bytes between readIndex and end.

A deferred annotation that can be completed by reading the bytes between readIndex and end.

[+] def elimExistentials ( boundSyms: List [ Symbol ] , tp: Type ) ( implicit ctx: Context ) : Type

Convert tp { type name = sym } forSome { sym >: L <: H } to tp { name >: L <: H } and tp { name: sym } forSome { sym <: T with Singleton } to tp { name: T }

Convert tp { type name = sym } forSome { sym >: L <: H } to tp { name >: L <: H } and tp { name: sym } forSome { sym <: T with Singleton } to tp { name: T }

[+] protected def errorBadSignature ( msg: String , original: Option [ RuntimeException ] ) ( implicit ctx: Context ) : Nothing
[+] def errorBadSignature$default$2 : None$
[+] protected def handleRuntimeException ( ex: RuntimeException ) ( implicit ctx: Context ) : Nothing
[+] protected def isChildrenEntry ( i: Int ) : Boolean

Does the entry represent children of a symbol?

Does the entry represent children of a symbol?

[+] protected def isLocal ( sym: Symbol ) ( implicit ctx: Context ) : Boolean
[+] protected def isNameEntry ( i: Int ) : Boolean

Does entry represent a name?

Does entry represent a name?

[+] protected def isRefinementClass ( sym: Symbol ) ( implicit ctx: Context ) : Boolean
[+] protected def isRefinementSymbolEntry ( i: Int ) ( implicit ctx: Context ) : Boolean

Does entry represent a refinement symbol? pre: Entry is a class symbol

Does entry represent a refinement symbol? pre: Entry is a class symbol

[+] protected def isSymbolAnnotationEntry ( i: Int ) : Boolean

Does entry represent a symbol annotation?

Does entry represent a symbol annotation?

[+] protected def isSymbolEntry ( i: Int ) ( implicit ctx: Context ) : Boolean

Does entry represent an (internal) symbol

Does entry represent an (internal) symbol

[+] protected def isSymbolRef ( i: Int ) : Boolean

Does entry represent an (internal or external) symbol

Does entry represent an (internal or external) symbol

[+] protected def isUnpickleRoot ( sym: Symbol ) ( implicit ctx: Context ) : Boolean
[+] def noSuchConstantTag ( tag: Int , len: Int ) ( implicit ctx: Context ) : Constant
[+] def noSuchTreeTag ( tag: Int , end: Int ) ( implicit ctx: Context ) : Nothing
[+] def noSuchTypeTag ( tag: Int , end: Int ) ( implicit ctx: Context ) : Type
[+] protected def readAnnotArg ( i: Int ) ( implicit ctx: Context ) : Tree

Read an annotation argument, which is pickled either as a Constant or a Tree.

Read an annotation argument, which is pickled either as a Constant or a Tree.

[+] private def readAnnotInfoArg ( ) ( implicit ctx: Context ) : Tree
[+] protected def readAnnotation ( ) ( implicit ctx: Context ) : Annotation

Read an annotation and return it. Used when unpickling an ANNOTATED(WSELF)tpe or a NestedAnnotArg

Read an annotation and return it. Used when unpickling an ANNOTATED(WSELF)tpe or a NestedAnnotArg

[+] protected def readAnnotationContents ( end: Int ) ( implicit ctx: Context ) : Tree

Read an annotation's contents. Not to be called directly, use readAnnotation, readSymbolAnnotation, or readAnnotInfoArg

Read an annotation's contents. Not to be called directly, use readAnnotation, readSymbolAnnotation, or readAnnotInfoArg

[+] protected def readAnnotationRef ( ) ( implicit ctx: Context ) : Annotation
[+] private def readArrayAnnotArg ( ) ( implicit ctx: Context ) : Tree

Read a ClassfileAnnotArg (argument to a classfile annotation)

Read a ClassfileAnnotArg (argument to a classfile annotation)

[+] protected def readCaseDefRef ( ) ( implicit ctx: Context ) : CaseDef
[+] protected def readChildren ( ) ( implicit ctx: Context ) : Unit

Read children and store them into the corresponding symbol.

Read children and store them into the corresponding symbol.

[+] protected def readClassfileAnnotArg ( i: Int ) ( implicit ctx: Context ) : Tree
[+] protected def readConstant ( ) ( implicit ctx: Context ) : Constant
[+] protected def readConstantRef ( ) ( implicit ctx: Context ) : Constant
[+] protected def readDisambiguatedSymbol ( p: Symbol => Boolean ) ( ) ( implicit ctx: Context ) : Symbol

Read a symbol, with possible disambiguation

Read a symbol, with possible disambiguation

[+] protected def readDisambiguatedSymbolRef ( p: Symbol => Boolean ) ( implicit ctx: Context ) : Symbol
[+] protected def readIdentRef ( ) ( implicit ctx: Context ) : Ident
[+] def readModifiers ( isType: Boolean ) ( implicit ctx: Context ) : Modifiers
[+] protected def readModifiersRef ( isType: Boolean ) ( implicit ctx: Context ) : Modifiers
[+] protected def readName ( ) ( implicit ctx: Context ) : Name

Read a name

Read a name

[+] protected def readNameRef ( ) ( implicit ctx: Context ) : Name
[+] protected def readSymbol ( ) ( implicit ctx: Context ) : Symbol

Read a symbol

Read a symbol

[+] protected def readSymbolAnnotation ( ) ( implicit ctx: Context ) : Unit

Read an annotation and as a side effect store it into the symbol it requests. Called at top-level, for all (symbol, annotInfo) entries.

Read an annotation and as a side effect store it into the symbol it requests. Called at top-level, for all (symbol, annotInfo) entries.

[+] protected def readSymbolRef ( ) ( implicit ctx: Context ) : Symbol
[+] protected def readTemplateRef ( ) ( implicit ctx: Context ) : Template
[+] protected def readTermName ( ) ( implicit ctx: Context ) : TermName
[+] protected def readTermNameRef ( ) ( implicit ctx: Context ) : TermName
[+] protected def readTree ( ) ( implicit ctx: Context ) : Tree
[+] protected def readTreeRef ( ) ( implicit ctx: Context ) : Tree
[+] protected def readType ( ) ( implicit ctx: Context ) : Type

Read a type

Read a type

[+] protected def readTypeDefRef ( ) ( implicit ctx: Context ) : TypeDef
[+] protected def readTypeName ( ) ( implicit ctx: Context ) : TypeName
[+] protected def readTypeNameRef ( ) ( implicit ctx: Context ) : TypeName
[+] def readTypeParams ( ) ( implicit ctx: Context ) : List [ Symbol ]
[+] protected def readTypeRef ( ) ( implicit ctx: Context ) : Type
[+] protected def readValDefRef ( ) ( implicit ctx: Context ) : ValDef
[+] def rootClassUnpickler ( start: Coord , cls: Symbol , module: Symbol , infoRef: Int ) : ClassUnpickler & SecondCompleter
[+] def run ( ) ( implicit ctx: Context ) : Unit
[+] def showPickled ( ) : Unit
[+] def source ( implicit ctx: Context ) : AbstractFile
[+] protected def symScope ( sym: Symbol ) : V

The decls scope associated with given symbol

The decls scope associated with given symbol

[+] def unimplementedTree ( what: String ) ( implicit ctx: Context ) : Nothing