aboutsummaryrefslogtreecommitdiff
path: root/src/checker/checker.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2016-09-24 22:55:17 +0100
committerGinger Bill <bill@gingerbill.org>2016-09-24 22:55:17 +0100
commit70f3361a343ad6e2f53937d1949a2f1b6e9ef227 (patch)
tree00f7e112c7104d807e83fb4af25a23c313991647 /src/checker/checker.cpp
parentff229054a19a566309a1fea56384bfcdcd9fddad (diff)
Bug Fixes: some assertions; variable inits;
Remove some dead code
Diffstat (limited to 'src/checker/checker.cpp')
-rw-r--r--src/checker/checker.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/checker/checker.cpp b/src/checker/checker.cpp
index e94482c34..9f669e7c1 100644
--- a/src/checker/checker.cpp
+++ b/src/checker/checker.cpp
@@ -624,9 +624,13 @@ void add_type_and_value(CheckerInfo *i, AstNode *expression, AddressingMode mode
void add_entity_definition(CheckerInfo *i, AstNode *identifier, Entity *entity) {
GB_ASSERT(identifier != NULL);
- GB_ASSERT(identifier->kind == AstNode_Ident);
- HashKey key = hash_pointer(identifier);
- map_set(&i->definitions, key, entity);
+ if (identifier->kind == AstNode_Ident) {
+ GB_ASSERT(identifier->kind == AstNode_Ident);
+ HashKey key = hash_pointer(identifier);
+ map_set(&i->definitions, key, entity);
+ } else {
+ // NOTE(bill): Error should handled elsewhere
+ }
}
b32 add_entity(Checker *c, Scope *scope, AstNode *identifier, Entity *entity) {
@@ -1139,10 +1143,11 @@ void check_parsed_files(Checker *c) {
add_curr_ast_file(c, d->scope->file);
- Scope *prev_scope = c->context.scope;
- c->context.scope = d->scope;
- GB_ASSERT(d->scope == e->scope);
- check_entity_decl(c, e, d, NULL);
+ if (d->scope == e->scope) {
+ Scope *prev_scope = c->context.scope;
+ c->context.scope = d->scope;
+ check_entity_decl(c, e, d, NULL);
+ }
}
}
};
@@ -1178,6 +1183,7 @@ void check_parsed_files(Checker *c) {
}
#endif
+#if 0
gb_for_array(i, c->parser->files) {
AstFile *f = &c->parser->files[i];
Scope *scope = f->scope;
@@ -1192,6 +1198,7 @@ void check_parsed_files(Checker *c) {
}
}
}
+#endif
}