summaryrefslogtreecommitdiff
path: root/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'types.h')
-rw-r--r--types.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/types.h b/types.h
index 91bc88b..245e6a0 100644
--- a/types.h
+++ b/types.h
@@ -201,6 +201,7 @@ typedef enum {
DIRECT_C,
DIRECT_SIZEOF,
DIRECT_ALIGNOF,
+ DIRECT_EXPORT,
DIRECT_COUNT
} Directive;
@@ -651,6 +652,7 @@ enum {
DECL_FOUND_VAL = 0x0040,
DECL_IS_PARAM = 0x0080,
DECL_INFER = 0x0100, /* infer the value (e.g. fn(t::Type=, x:t)) */
+ DECL_EXPORT = 0x0200
};
typedef U32 DeclFlags;
@@ -721,6 +723,7 @@ typedef struct Evaluator {
typedef struct Typer {
Allocator *allocr;
Evaluator *evalr;
+ struct Exporter *exptr;
Expression **in_expr_decls; /* an array of expressions whose declarations (e.g. each **x := foo**) we are currently inside */
Declaration **in_decls; /* array of declarations we are currently inside */
Block *block;
@@ -728,6 +731,10 @@ typedef struct Typer {
FnExpr *fn; /* the function we're currently parsing. */
} Typer;
+typedef struct Exporter {
+ FILE *out; /* .top (toc package) to output to */
+} Exporter;
+
typedef struct CGenerator {
Allocator *allocr;
FILE *outc;