summaryrefslogtreecommitdiff
path: root/src/parser/parser.h
diff options
context:
space:
mode:
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);