diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-01-21 20:32:39 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-01-21 20:32:39 +0200 |
| commit | e8f78907830c525dccf1f4a5e6f97a15780c54ef (patch) | |
| tree | 616bf72243e22cfb034cf2fab4bb99a927db61da /include/ek/ast.h | |
| parent | 284be00c81407735cc8ddec1f1353b867b2deffd (diff) | |
| download | ek-e8f78907830c525dccf1f4a5e6f97a15780c54ef.tar.gz ek-e8f78907830c525dccf1f4a5e6f97a15780c54ef.zip | |
add type visibility checks
+ Essentially require that each type used in a public symbol only use
types that are exported out of the file as well
Diffstat (limited to 'include/ek/ast.h')
| -rw-r--r-- | include/ek/ast.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/ek/ast.h b/include/ek/ast.h index 5c1c6e6..37e644d 100644 --- a/include/ek/ast.h +++ b/include/ek/ast.h @@ -197,6 +197,7 @@ enum ast_flags { AST_FLAG_UFCS_SIMPLE = (1 << 17), AST_FLAG_UFCS_REF = (1 << 18), AST_FLAG_UFCS_TRIVIAL = (1 << 19), + AST_FLAG_INSTANCE = (1 << 20), }; struct ast; @@ -691,6 +692,7 @@ struct ast *ast_prepend(struct ast *list, struct ast *elem); struct type *type_prepend(struct type *list, struct type *elem); void ast_set_flags(struct ast *node, enum ast_flags flags); +void ast_set_flags_recurse(struct ast *node, enum ast_flags flags); void ast_clear_flags(struct ast *node, enum ast_flags flags); unsigned ast_flags(struct ast *node, enum ast_flags flags); |
