aboutsummaryrefslogtreecommitdiff
path: root/hobgoblin/src/patio/operands.hob
diff options
context:
space:
mode:
Diffstat (limited to 'hobgoblin/src/patio/operands.hob')
-rw-r--r--hobgoblin/src/patio/operands.hob39
1 files changed, 39 insertions, 0 deletions
diff --git a/hobgoblin/src/patio/operands.hob b/hobgoblin/src/patio/operands.hob
new file mode 100644
index 00000000..5a8769f7
--- /dev/null
+++ b/hobgoblin/src/patio/operands.hob
@@ -0,0 +1,39 @@
+import {PatioDataPtrValue, PatioIntValue} from ./values;
+
+sum PatioOperand {
+ variant PatioLocalRef;
+ variant PatioBoolConst;
+ variant PatioByteConst;
+ variant PatioDataPtrConst;
+ variant PatioFunctionPtrConst;
+ variant PatioInt32Const;
+ variant PatioIntConst;
+}
+
+struct PatioLocalRef {
+ field name: String;
+}
+
+struct PatioBoolConst {
+ field value: Bool;
+}
+
+struct PatioByteConst {
+ field value: Int8;
+}
+
+struct PatioDataPtrConst {
+ field value: PatioDataPtrValue;
+}
+
+struct PatioFunctionPtrConst {
+ field name: String;
+}
+
+struct PatioInt32Const {
+ field value: PatioIntValue;
+}
+
+struct PatioIntConst {
+ field value: PatioIntValue;
+}