Scala2Unpickler

dotty.tools.dotc.core.unpickleScala2.Scala2Unpickler
See theScala2Unpickler companion object
class Scala2Unpickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: ClassDenotation)(ictx: Context) extends PickleBuffer, Embedded

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

Value parameters

bytes

bytearray from which we unpickle

classRoot

the top-level class which is unpickled, or NoSymbol if inapplicable

moduleClassRoot

the top-level module class which is unpickled, or NoSymbol if inapplicable

Attributes

Companion
object
Graph
Supertypes
trait Embedded
class PickleBuffer
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

Attributes

Supertypes
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
class LocalUnpickler extends LazyType

Attributes

Supertypes
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
Self type

Value members

Concrete methods

def elimExistentials(boundSyms: List[Symbol], tp: Type)(using 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 }

Attributes

def noSuchConstantTag(tag: Int, len: Int)(using Context): Constant
def noSuchTreeTag(tag: Int, end: Int)(using Context): Nothing
def noSuchTypeTag(tag: Int, end: Int)(using Context): Type
def readModifiers(isType: Boolean)(using Context): Modifiers
def rootClassUnpickler(start: Coord, cls: Symbol, module: Symbol, infoRef: Int): ClassUnpickler
def run()(using Context): Unit
def showPickled(): Unit
def unimplementedTree(what: String)(using Context): Nothing

Inherited methods

Pickle = majorVersion_Nat minorVersion_Nat nbEntries_Nat {Entry} Entry = type_Nat length_Nat [actual entries]

Pickle = majorVersion_Nat minorVersion_Nat nbEntries_Nat {Entry} Entry = type_Nat length_Nat [actual entries]

Assumes that the ..Version_Nat are already consumed.

Attributes

Returns

an array mapping entry numbers to locations in the byte array where the entries start.

Inherited from:
PickleBuffer
def ensureCapacity(capacity: Int): Unit

Attributes

Inherited from:
PickleBuffer
def patchNat(pos: Int, x: Int): Unit

Write a natural number x at position pos. If number is more than one byte, shift rest of array to make space.

Write a natural number x at position pos. If number is more than one byte, shift rest of array to make space.

Value parameters

pos

...

x

...

Attributes

Inherited from:
PickleBuffer
def peekByte(): Int

Peek at the current byte without moving the read index

Peek at the current byte without moving the read index

Attributes

Inherited from:
PickleBuffer
def readByte(): Int

Read a byte

Read a byte

Attributes

Inherited from:
PickleBuffer
def readLong(len: Int): Long

Read a long number in signed big endian format, base 256.

Read a long number in signed big endian format, base 256.

Attributes

Inherited from:
PickleBuffer
def readLongNat(): Long

Attributes

Inherited from:
PickleBuffer
def readNat(): Int

Read a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.

Read a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.

Attributes

Inherited from:
PickleBuffer
def times[T](n: Int, op: () => T): List[T]

Perform operation op the number of times specified. Concatenate the results into a list.

Perform operation op the number of times specified. Concatenate the results into a list.

Attributes

Inherited from:
PickleBuffer

Returns the buffer as a sequence of (Int, Array[Byte]) representing (tag, data) of the individual entries. Saves and restores buffer state.

Returns the buffer as a sequence of (Int, Array[Byte]) representing (tag, data) of the individual entries. Saves and restores buffer state.

Attributes

Inherited from:
PickleBuffer
def until[T](end: Int, op: () => T): List[T]

Perform operation op until the condition readIndex == end is satisfied. Concatenate results into a list.

Perform operation op until the condition readIndex == end is satisfied. Concatenate results into a list.

Value parameters

end

...

op

...

Attributes

Returns

...

Inherited from:
PickleBuffer
def writeByte(b: Int): Unit

Write a byte of data

Write a byte of data

Attributes

Inherited from:
PickleBuffer
def writeLong(x: Long): Unit

Write a long number x in signed big endian format, base 256.

Write a long number x in signed big endian format, base 256.

Value parameters

x

The long number to be written.

Attributes

Inherited from:
PickleBuffer

Like writeNat, but for longs. This is not the same as writeLong, which writes in base 256. Note that the binary representation of LongNat is identical to Nat if the long value is in the range Int.MIN_VALUE to Int.MAX_VALUE.

Like writeNat, but for longs. This is not the same as writeLong, which writes in base 256. Note that the binary representation of LongNat is identical to Nat if the long value is in the range Int.MIN_VALUE to Int.MAX_VALUE.

Attributes

Inherited from:
PickleBuffer
def writeNat(x: Int): Unit

Write a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.

Write a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.

Attributes

Inherited from:
PickleBuffer

Concrete fields

Inherited fields

var readIndex: Int

Attributes

Inherited from:
PickleBuffer

Attributes

Inherited from:
PickleBuffer