summaryrefslogtreecommitdiff
path: root/parse/parse.h
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2017-06-28 03:24:57 -0700
committerOri Bernstein <ori@markovcorp.com>2017-06-28 10:59:54 -0700
commit567766b0cb773c76a9ec0d16246bd27b4a46b851 (patch)
tree47da5cff2284f691083c6b8445ded0047a174e85 /parse/parse.h
parent6f5af8562ed5547ddaeb15ba7ed4a334318ca53f (diff)
downloadmc-567766b0cb773c76a9ec0d16246bd27b4a46b851.tar.gz
Remove unused memb from Trait and rename funcs -> proto
These are prototype declarations that must be implemented by the impl (not necessarily functions), so proto seems like a better name.
Diffstat (limited to 'parse/parse.h')
-rw-r--r--parse/parse.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/parse/parse.h b/parse/parse.h
index cb89bfb..af4abb5 100644
--- a/parse/parse.h
+++ b/parse/parse.h
@@ -164,10 +164,8 @@ struct Trait {
Type *param; /* the type parameter */
Type **aux; /* auxiliary parameters */
size_t naux;
- Node **memb; /* type must have these members */
- size_t nmemb;
- Node **funcs; /* and declare these funcs */
- size_t nfuncs;
+ Node **proto; /* type must implement these prototypes */
+ size_t nproto;
char isproto; /* is it a prototype (for exporting purposes) */
char ishidden; /* should user code be able to use this? */
@@ -431,8 +429,7 @@ Type *mktyunion(Srcloc l, Ucon **decls, size_t ndecls);
Trait *mktrait(Srcloc l, Node *name,
Type *param,
Type **aux, size_t naux,
- Node **memb, size_t nmemb,
- Node **funcs, size_t nfuncs,
+ Node **proto, size_t nproto,
int isproto);
Type *mktylike(Srcloc l, Ty ty); /* constrains tyvar t like it was builtin ty */
Ucon *finducon(Type *t, Node *name);