Use std::variant for RPN expression value (#1389)

This commit is contained in:
Sylvie
2024-04-01 10:47:15 -04:00
committed by GitHub
parent 9ab3446d1a
commit 1d39e5ed56
5 changed files with 154 additions and 175 deletions

View File

@@ -734,11 +734,11 @@ void sect_RelByte(Expression &expr, uint32_t pcShift) {
if (!reserveSpace(1))
return;
if (!expr.isKnown) {
if (!expr.isKnown()) {
createPatch(PATCHTYPE_BYTE, expr, pcShift);
writebyte(0);
} else {
writebyte(expr.val);
writebyte(expr.value());
}
}
@@ -753,11 +753,11 @@ void sect_RelBytes(uint32_t n, std::vector<Expression> &exprs) {
for (uint32_t i = 0; i < n; i++) {
Expression &expr = exprs[i % exprs.size()];
if (!expr.isKnown) {
if (!expr.isKnown()) {
createPatch(PATCHTYPE_BYTE, expr, i);
writebyte(0);
} else {
writebyte(expr.val);
writebyte(expr.value());
}
}
}
@@ -770,11 +770,11 @@ void sect_RelWord(Expression &expr, uint32_t pcShift) {
if (!reserveSpace(2))
return;
if (!expr.isKnown) {
if (!expr.isKnown()) {
createPatch(PATCHTYPE_WORD, expr, pcShift);
writeword(0);
} else {
writeword(expr.val);
writeword(expr.value());
}
}
@@ -786,11 +786,11 @@ void sect_RelLong(Expression &expr, uint32_t pcShift) {
if (!reserveSpace(2))
return;
if (!expr.isKnown) {
if (!expr.isKnown()) {
createPatch(PATCHTYPE_LONG, expr, pcShift);
writelong(0);
} else {
writelong(expr.val);
writelong(expr.value());
}
}