Scala Compiler2.13.9 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package tasty
  Definition Classes
    tools
- ErasedTypeRef
- Signature
- TastyFlags
- TastyFormat
- TastyHeaderUnpickler
- TastyName
- TastyReader
- TastyRefs
- UnpickleException

c

scala.tools.tasty

# TastyReader

###

#### class TastyReader extends AnyRef

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.

Source
  TastyReader.scala

Linear Supertypes
AnyRef, Any
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. TastyReader
2. AnyRef
3. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new TastyReader(bytes: Array[Byte])
2.  new TastyReader(bytes: Array[Byte], start: Int, end: Int, base: Int = 0)

   bytes

     The array containing data

   start

     The position from which to read

   end

     The position one greater than the last byte to be read

   base

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

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from TastyReader toany2stringadd[TastyReader] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (TastyReader, B)
   Implicit
     This member is added by an implicit conversion from TastyReader toArrowAssoc[TastyReader] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  def addr(idx: Int): Addr
7.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
8.  val base: Int
9.  val bytes: Array[Byte]
10.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
11.  def collectWhile[T](cond: => Boolean)(op: => T): List[T]

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

12.  def currentAddr: Addr

    The address of the next byte to read

13.  def doUntil(end: Addr)(op: => Unit): Unit
14.  def endAddr: Addr

    the address one greater than the last brte to read

15.  def ensuring(cond: (TastyReader) => Boolean, msg: => Any): TastyReader
    Implicit
      This member is added by an implicit conversion from TastyReader toEnsuring[TastyReader] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
16.  def ensuring(cond: (TastyReader) => Boolean): TastyReader
    Implicit
      This member is added by an implicit conversion from TastyReader toEnsuring[TastyReader] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
17.  def ensuring(cond: Boolean, msg: => Any): TastyReader
    Implicit
      This member is added by an implicit conversion from TastyReader toEnsuring[TastyReader] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
18.  def ensuring(cond: Boolean): TastyReader
    Implicit
      This member is added by an implicit conversion from TastyReader toEnsuring[TastyReader] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
19.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
20.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
21.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
22.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
23.  def goto(addr: Addr): Unit

    Set read position to the one pointed to by `addr`

24.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
25.  def ifBefore[T](end: Addr)(op: => T, default: T): T

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

26.  def index(addr: Addr): Int
27.  def isAtEnd: Boolean

    Have all bytes been read?

28.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
29.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
30.  def nextByte: Int

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

31.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
32.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
33.  def readAddr(): Addr

    Read a natural number and return as an address

34.  def readByte(): Int

    Read a byte of data.

35.  def readBytes(n: Int): Array[Byte]

    Read the next `n` bytes of `data`.

36.  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

37.  def readInt(): Int

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

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

38.  def readLongInt(): Long

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

39.  def readLongNat(): Long

    Read a natural number fitting in a Long in big endian format, base 128.

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

40.  def readNameRef(): NameRef

    Read a natural number and return as a NameRef

41.  def readNat(): Int

    Read a natural number fitting in an Int in big endian format, base 128.

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

42.  def readUncompressedLong(): Long

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

43.  def startAddr: Addr

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

44.  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

45.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
46.  def toString(): String
    Definition Classes
      AnyRef → Any
47.  def until[T](end: Addr)(op: => T): List[T]

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

48.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
49.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
50.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from TastyReader toStringFormat[TastyReader] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (TastyReader, B)
   Implicit
     This member is added by an implicit conversion from TastyReader toArrowAssoc[TastyReader] 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.

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromTastyReader to any2stringadd[TastyReader]

### Inherited by implicit conversion StringFormat fromTastyReader to StringFormat[TastyReader]

### Inherited by implicit conversion Ensuring fromTastyReader to Ensuring[TastyReader]

### Inherited by implicit conversion ArrowAssoc fromTastyReader to ArrowAssoc[TastyReader]

### Ungrouped