aboutsummaryrefslogtreecommitdiff
path: root/src/parser.hpp
diff options
context:
space:
mode:
authorCourtney Strachan <courtney.strachan@gmail.com>2025-10-06 02:41:44 +0100
committerGitHub <noreply@github.com>2025-10-06 02:41:44 +0100
commit6de2d6e8ca687c989bbb7806e5cbe8d791e425bf (patch)
tree03a2e0a84c7c1530215f8e3f59a7f643b39b3677 /src/parser.hpp
parentdbbe96ae5c343f0e803de6ee508207a62571534f (diff)
parent0f97382fa3e46da80705c00dfe02f3deb9562e4f (diff)
Merge branch 'odin-lang:master' into master
Diffstat (limited to 'src/parser.hpp')
-rw-r--r--src/parser.hpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/parser.hpp b/src/parser.hpp
index d2dd22667..6127468d4 100644
--- a/src/parser.hpp
+++ b/src/parser.hpp
@@ -27,10 +27,29 @@ enum AddressingMode : u8 {
Addressing_SwizzleVariable = 14, // Swizzle indexed variable
};
+gb_global String const addressing_mode_strings[] = {
+ str_lit("Invalid"),
+ str_lit("NoValue"),
+ str_lit("Value"),
+ str_lit("Context"),
+ str_lit("Variable"),
+ str_lit("Constant"),
+ str_lit("Type"),
+ str_lit("Builtin"),
+ str_lit("ProcGroup"),
+ str_lit("MapIndex"),
+ str_lit("OptionalOk"),
+ str_lit("OptionalOkPtr"),
+ str_lit("SoaVariable"),
+ str_lit("SwizzleValue"),
+ str_lit("SwizzleVariable"),
+};
+
struct TypeAndValue {
Type * type;
AddressingMode mode;
- bool is_lhs; // Debug info
+ bool is_lhs; // Debug info
+ Type * objc_super_target; // Original type of the Obj-C object before being converted to the superclass' type by the objc_super() intrinsic.
ExactValue value;
};
@@ -396,6 +415,7 @@ struct AstSplitArgs {
AST_KIND(Ident, "identifier", struct { \
Token token; \
Entity *entity; \
+ u32 hash; \
}) \
AST_KIND(Implicit, "implicit", Token) \
AST_KIND(Uninit, "uninitialized value", Token) \