consolidate @rombank and @rambank into just @bank

This commit is contained in:
Irmen de Jong
2024-11-03 21:00:39 +01:00
parent cb47e2c149
commit 85e87dfe2e
22 changed files with 105 additions and 130 deletions
+1 -2
View File
@@ -1,6 +1,5 @@
package prog8.code
import prog8.code.ast.PtAsmSub
import prog8.code.ast.PtNode
import prog8.code.ast.PtProgram
import prog8.code.core.*
@@ -258,7 +257,7 @@ class StSub(name: String, val parameters: List<StSubroutineParameter>, val retur
class StRomSub(name: String,
val address: PtAsmSub.Address?, // null in case of asmsub, specified in case of romsub
val address: Pair<UByte?, UInt>?, // null in case of asmsub, specified in case of romsub. bank, address.
val parameters: List<StRomSubParameter>,
val returns: List<StRomSubParameter>,
astNode: PtNode) :
+2 -3
View File
@@ -92,9 +92,8 @@ fun printAst(root: PtNode, skipLibraries: Boolean, output: (text: String) -> Uni
if(node.address == null) {
str + "asmsub ${node.name}($params) $clobbers $returns"
} else {
val rombank = if(node.address.rombank!=null) "@rombank ${node.address.rombank}" else ""
val rambank = if(node.address.rambank!=null) "@rambank ${node.address.rambank}" else ""
str + "romsub $rombank $rambank ${node.address.address.toHex()} = ${node.name}($params) $clobbers $returns"
val bank = if(node.address.first!=null) "@bank ${node.address.first}" else ""
str + "romsub $bank ${node.address.second.toHex()} = ${node.name}($params) $clobbers $returns"
}
}
is PtBlock -> {
+2 -5
View File
@@ -10,16 +10,13 @@ sealed interface IPtSubroutine {
class PtAsmSub(
name: String,
val address: Address?,
val address: Pair<UByte?, UInt>?, // bank, address
val clobbers: Set<CpuRegister>,
val parameters: List<Pair<RegisterOrStatusflag, PtSubroutineParameter>>,
val returns: List<Pair<RegisterOrStatusflag, DataType>>,
val inline: Boolean,
position: Position
) : PtNamedNode(name, position), IPtSubroutine {
class Address(val rombank: UByte?, val rambank: UByte?, val address: UInt)
}
) : PtNamedNode(name, position), IPtSubroutine
class PtSub(