aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2017-07-13 22:35:00 +0100
committerGinger Bill <bill@gingerbill.org>2017-07-13 22:35:00 +0100
commit1c5ddd65b4f66c4d37bd9da0facb229bbcea22eb (patch)
tree78078fbb2cf23b31689bb6842ba30e487f199447 /src/checker.cpp
parentb8697fb4ed34d0da0fa0888b57e6edcc37a0ce81 (diff)
Rudimentary support for parametric polymorphic types
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index d7882414a..1cbf5db40 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -301,6 +301,7 @@ struct CheckerInfo {
Map<ExprInfo> untyped; // Key: AstNode * | Expression -> ExprInfo
Map<Entity *> implicits; // Key: AstNode *
Map<Array<Entity *> > gen_procs; // Key: AstNode * | Identifier -> Entity
+ Map<Array<Entity *> > gen_types; // Key: Type *
Map<DeclInfo *> entities; // Key: Entity *
Map<Entity *> foreigns; // Key: String
Map<AstFile *> files; // Key: String (full path)
@@ -742,6 +743,7 @@ void init_checker_info(CheckerInfo *i) {
map_init(&i->foreigns, a);
map_init(&i->implicits, a);
map_init(&i->gen_procs, a);
+ map_init(&i->gen_types, a);
map_init(&i->type_info_map, a);
map_init(&i->files, a);
i->type_info_count = 0;
@@ -758,6 +760,7 @@ void destroy_checker_info(CheckerInfo *i) {
map_destroy(&i->foreigns);
map_destroy(&i->implicits);
map_destroy(&i->gen_procs);
+ map_destroy(&i->gen_types);
map_destroy(&i->type_info_map);
map_destroy(&i->files);
}