class TastyBuffer 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.
- Alphabetic
- By Inheritance
- TastyBuffer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TastyBuffer(initialSize: Int)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assemble(): Unit
Hook to be overridden in subclasses.
Hook to be overridden in subclasses. Perform all actions necessary to assemble the final byte array. After
assemble
no more output actions to this buffer are permitted. - var bytes: Array[Byte]
The current byte array, will be expanded as needed
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def currentAddr: Addr
The address referring to the end of data written so far
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fillAddr(at: Addr, target: Addr): Unit
Fill reserved space at address
at
with addresstarget
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def getAddr(at: Addr): Addr
The address (represented as a natural number) at address
at
- def getByte(at: Addr): Int
The byte at given address
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getLongNat(at: Addr): Long
The long natural number at address
at
- def getNat(at: Addr): Int
The natural number at address
at
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- var length: Int
The number of bytes written
- 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 putNat(at: Addr, x: Int, width: Int): Unit
Write natural number
x
right-adjusted in a field ofwidth
bytes starting with addressat
. - def reserveAddr(): Addr
Reserve
AddrWidth
bytes to write an address into - final def skipNat(at: Addr): Addr
The address after the natural number found at address
at
. - final def skipZeroes(at: Addr): Addr
The smallest address equal to or following
at
which points to a non-zero byte - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
- def writeAddr(addr: Addr): Unit
Write address without leading zeroes
- def writeByte(b: Int): Unit
Write a byte of data.
- def writeBytes(data: Array[Byte], n: Int): Unit
Write the first
n
bytes ofdata
. - def writeInt(x: Int): Unit
Write a natural number in 2's complement big endian format, base 128.
Write a natural number in 2's complement big endian format, base 128. All but the last digits have bit 0x80 set.
- def writeLongInt(x: Long): Unit
Like writeInt, but for longs
- def writeLongNat(x: Long): Unit
Like writeNat, but for longs.
Like writeNat, but for longs. 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.
- def writeNat(x: Int): Unit
Write a natural number in big endian format, base 128.
Write a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.
- def writeUncompressedLong(x: Long): Unit
Write an uncompressed Long stored in 8 bytes in big endian format