|
|
@ -112,6 +112,7 @@ class ASTLabel {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
ASTLabel(u32 index) : index{index} {}
|
|
|
|
ASTLabel(u32 index) : index{index} {}
|
|
|
|
u32 index;
|
|
|
|
u32 index;
|
|
|
|
|
|
|
|
bool unused{};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class ASTGoto {
|
|
|
|
class ASTGoto {
|
|
|
@ -204,6 +205,13 @@ public:
|
|
|
|
return nullptr;
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void MarkLabelUnused() const {
|
|
|
|
|
|
|
|
auto inner = std::get_if<ASTLabel>(&data);
|
|
|
|
|
|
|
|
if (inner) {
|
|
|
|
|
|
|
|
inner->unused = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Expr GetIfCondition() const {
|
|
|
|
Expr GetIfCondition() const {
|
|
|
|
auto inner = std::get_if<ASTIfThen>(&data);
|
|
|
|
auto inner = std::get_if<ASTIfThen>(&data);
|
|
|
|
if (inner) {
|
|
|
|
if (inner) {
|
|
|
|