summaryrefslogtreecommitdiff
path: root/src/parser/parser.h
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-23 17:29:30 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-23 17:29:30 +0000
commitd7b24c552305f1bd8c49e253d14dcf4b1581df2c (patch)
tree1f5ae2aa05af21120525b180d07b2657078678da /src/parser/parser.h
parentc735d4b45f2db336e2aff8d94da7a08bb1fad68f (diff)
Fix for #94
Diffstat (limited to 'src/parser/parser.h')
-rw-r--r--src/parser/parser.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/parser/parser.h b/src/parser/parser.h
index 6f62435..6ac55bf 100644
--- a/src/parser/parser.h
+++ b/src/parser/parser.h
@@ -268,8 +268,23 @@ struct ParserContext
int is_repl; // REPL mode flag
int has_async; // Track if async features are used
int in_defer_block; // Track if currently parsing inside a defer block
+
+ // Type Validation
+ struct TypeUsage *pending_type_validations;
+ int is_speculative; // Flag to suppress side effects during speculative parsing
};
+typedef struct TypeUsage
+{
+ char *name;
+ Token location;
+ struct TypeUsage *next;
+} TypeUsage;
+
+// Type validation prototypes
+void register_type_usage(ParserContext *ctx, const char *name, Token t);
+int validate_types(ParserContext *ctx);
+
// Token helpers
char *token_strdup(Token t);
int is_token(Token t, const char *s);