disbrowser/src/main/java/com/smallhacker/disbrowser/asm/Disassembly.kt

20 lines
561 B
Kotlin

package com.smallhacker.disbrowser.asm
class Disassembly(lines: List<CodeUnit>) : Iterable<CodeUnit> {
override fun iterator() = lineList.iterator() as Iterator<CodeUnit>
private val knownAddresses = HashSet<Address>()
private val lineList = ArrayList<CodeUnit>()
init {
lines.forEach {
val address = it.address
if (address != null) {
knownAddresses += address
}
lineList.add(it)
}
}
operator fun contains(address: Address) = address in knownAddresses
}