summaryrefslogtreecommitdiff
path: root/parse/parse.h
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2017-10-29 19:08:13 -0700
committerOri Bernstein <ori@eigenstate.org>2017-10-29 19:08:13 -0700
commit269e4f69372bc1250dcb70a9dfde30486809f1b0 (patch)
treeeb86ec1c691bf8f479be36ede67e029f55f3c09c /parse/parse.h
parent4eea6de57c9fce0a69f85270303baae069c3e237 (diff)
parentd359a98ab9cfc42de66ad35333bd6d6c0571b7ca (diff)
downloadmc-qbe.tar.gz
Merge branch 'master' into qbeqbe
Diffstat (limited to 'parse/parse.h')
-rw-r--r--parse/parse.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/parse/parse.h b/parse/parse.h
index edb65c6..9c6a658 100644
--- a/parse/parse.h
+++ b/parse/parse.h
@@ -120,11 +120,14 @@ struct Tyenv {
struct Type {
Ty type;
- int tid;
+ uint32_t tid;
Srcloc loc;
Vis vis;
+ Node **traits; /* trait list */
+ size_t ntraits; /* trait list size */
+
Type **gparam; /* Tygeneric: type parameters that match the type args */
size_t ngparam; /* Tygeneric: count of type parameters */
Type **arg; /* Tyname: type arguments instantiated */
@@ -202,6 +205,8 @@ struct Node {
Node **init; /* all __init__ function names of our deps. NB, this
is a Nname, not an Ndecl */
size_t ninit;
+ Node **impl; /* impls defined in this file, across all namespaces */
+ size_t nimpl;
Node *localinit;/* and the local one, if any */
Stab *globls; /* global symtab */
Stab *builtins; /* global symtab */