aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/archetype/statement.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/glk/archetype/statement.h')
-rw-r--r--engines/glk/archetype/statement.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/glk/archetype/statement.h b/engines/glk/archetype/statement.h
index 0be8c1b9a0..62c2095797 100644
--- a/engines/glk/archetype/statement.h
+++ b/engines/glk/archetype/statement.h
@@ -34,7 +34,7 @@ enum StatementKind {
ST_DESTROY, ST_WRITE, ST_WRITES, ST_STOP, CONT_SEQ, END_SEQ
};
-union StatementType;
+struct StatementType;
typedef StatementType *StatementPtr;
struct StmtCompound {
@@ -74,8 +74,7 @@ struct StmtWrite {
ListType print_list;
};
-union StatementType {
- StatementKind _kind;
+union StatementTypeData {
StmtCompound _compound;
StmtExpr _expr;
StmtIf _if;
@@ -86,6 +85,11 @@ union StatementType {
StmtWrite _write;
};
+struct StatementType {
+ StatementKind _kind;
+ StatementTypeData _data;
+};
+
struct CasePairType {
ExprTree value;
StatementPtr action;