TastyReader

dotty.tools.tasty.TastyReader
class TastyReader(val bytes: Array[Byte], start: Int, end: Int, val base: Int)

A byte array buffer that can be filled with bytes or natural numbers in TASTY format, and that supports reading and patching addresses represented as natural numbers.

Attributes

base

The index referenced by the logical zero address Addr(0)

bytes

The array containing data

end

The position one greater than the last byte to be read

start

The position from which to read

Source:
TastyReader.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Constructors

def this(bytes: Array[Byte])

Attributes

Source:
TastyReader.scala

Concrete methods

def addr(idx: Int): Addr

Attributes

Source:
TastyReader.scala
def collectWhile[T](cond: => Boolean)(op: => T): List[T]

Perform op while cindition cond holds and collect results in a list.

Perform op while cindition cond holds and collect results in a list.

Attributes

Source:
TastyReader.scala

The address of the next byte to read

The address of the next byte to read

Attributes

Source:
TastyReader.scala

the address one greater than the last brte to read

the address one greater than the last brte to read

Attributes

Source:
TastyReader.scala
def goto(addr: Addr): Unit

Set read position to the one pointed to by addr

Set read position to the one pointed to by addr

Attributes

Source:
TastyReader.scala
def ifBefore[T](end: Addr)(op: => T, default: T): T

If before given end address, the result of op, otherwise default

If before given end address, the result of op, otherwise default

Attributes

Source:
TastyReader.scala
def index(addr: Addr): Int

Attributes

Source:
TastyReader.scala

Have all bytes been read?

Have all bytes been read?

Attributes

Source:
TastyReader.scala

Returns the next byte of data as a natural number without advancing the read position

Returns the next byte of data as a natural number without advancing the read position

Attributes

Source:
TastyReader.scala
def readAddr(): Addr

Read a natural number and return as an address

Read a natural number and return as an address

Attributes

Source:
TastyReader.scala
def readByte(): Int

Read a byte of data.

Read a byte of data.

Attributes

Source:
TastyReader.scala

Read the next n bytes of data.

Read the next n bytes of data.

Attributes

Source:
TastyReader.scala
def readEnd(): Addr

Read a length number and return the absolute end address implied by it, given as

+ .

Read a length number and return the absolute end address implied by it, given as

+ .

Attributes

Source:
TastyReader.scala
def readInt(): Int

Read an integer number in 2's complement big endian format, base 128. All but the last digits have bit 0x80 set.

Read an integer number in 2's complement big endian format, base 128. All but the last digits have bit 0x80 set.

Attributes

Source:
TastyReader.scala

Read a long integer number in 2's complement big endian format, base 128.

Read a long integer number in 2's complement big endian format, base 128.

Attributes

Source:
TastyReader.scala

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

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

Attributes

Source:
TastyReader.scala

Read a natural number and return as a NameRef

Read a natural number and return as a NameRef

Attributes

Source:
TastyReader.scala
def readNat(): Int

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

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

Attributes

Source:
TastyReader.scala

Read an uncompressed Long stored in 8 bytes in big endian format

Read an uncompressed Long stored in 8 bytes in big endian format

Attributes

Source:
TastyReader.scala

The address of the first byte to read, respectively byte that was read

The address of the first byte to read, respectively byte that was read

Attributes

Source:
TastyReader.scala
def subReader(start: Addr, end: Addr): TastyReader

A new reader over the same array with the same address base, but with specified start and end positions

A new reader over the same array with the same address base, but with specified start and end positions

Attributes

Source:
TastyReader.scala
def until[T](end: Addr)(op: => T): List[T]

Perform op until end address is reached and collect results in a list.

Perform op until end address is reached and collect results in a list.

Attributes

Source:
TastyReader.scala

Concrete fields

val base: Int

Attributes

Source:
TastyReader.scala

Attributes

Source:
TastyReader.scala