generated from rnentjes/kotlin-server-web-undertow
Remove legacy JVM-specific file system, shell, and related implementations; migrate to platform-agnostic and common main modules.
This commit is contained in:
37
src/commonMain/kotlin/mtmc/asm/data/Data.kt
Normal file
37
src/commonMain/kotlin/mtmc/asm/data/Data.kt
Normal file
@@ -0,0 +1,37 @@
|
||||
package mtmc.asm.data
|
||||
|
||||
import mtmc.asm.ASMElement
|
||||
import mtmc.asm.Assembler
|
||||
import mtmc.tokenizer.MTMCToken
|
||||
|
||||
class Data(labels: MutableList<MTMCToken>, lineNumber: Int) : ASMElement(labels, lineNumber) {
|
||||
var valueToken: MTMCToken? = null
|
||||
private var value: ByteArray = ByteArray(0)
|
||||
|
||||
override var sizeInBytes: Int
|
||||
get() = value.size
|
||||
set(value) {}
|
||||
|
||||
fun genData(dataBytes: ByteArray, assembler: Assembler) {
|
||||
val offset = location - assembler.instructionsSizeInBytes
|
||||
for (i in 0..<sizeInBytes) {
|
||||
val dataByte = value[i]
|
||||
dataBytes[offset + i] = dataByte
|
||||
}
|
||||
}
|
||||
|
||||
fun setValue(src: MTMCToken, value: ByteArray) {
|
||||
this.valueToken = src
|
||||
this.value = value
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "Data{" +
|
||||
"value=" + value.contentToString() +
|
||||
'}'
|
||||
}
|
||||
|
||||
override fun addError(err: String) {
|
||||
addError(labels.last(), err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user