aboutsummaryrefslogtreecommitdiff
path: root/src/check_type.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-07-10 13:02:13 +0100
committergingerBill <bill@gingerbill.org>2021-07-10 13:02:13 +0100
commit4a932616fc6d8d5c4cad98debf292a1916e5a2be (patch)
tree6cbd10f3a41a248e50bbf9af0893f56af03b4b03 /src/check_type.cpp
parent73fe36f19c8e7563f33e9251f58ce7ddb5e4eacd (diff)
Improve CheckerContext usage
Diffstat (limited to 'src/check_type.cpp')
-rw-r--r--src/check_type.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp
index 47726a15b..578538106 100644
--- a/src/check_type.cpp
+++ b/src/check_type.cpp
@@ -23,7 +23,7 @@ void populate_using_array_index(CheckerContext *ctx, Ast *node, AstField *field,
tok.pos = ast_token(field->type).pos;
}
Entity *f = alloc_entity_array_elem(nullptr, tok, t->Array.elem, idx);
- add_entity(ctx->checker, ctx->scope, nullptr, f);
+ add_entity(ctx, ctx->scope, nullptr, f);
}
}
@@ -52,7 +52,7 @@ void populate_using_entity_scope(CheckerContext *ctx, Ast *node, AstField *field
error(e->token, "'%.*s' is already declared", LIT(name));
}
} else {
- add_entity(ctx->checker, ctx->scope, nullptr, f);
+ add_entity(ctx, ctx->scope, nullptr, f);
if (f->flags & EntityFlag_Using) {
populate_using_entity_scope(ctx, node, field, f->type);
}
@@ -157,7 +157,7 @@ void check_struct_fields(CheckerContext *ctx, Ast *node, Array<Entity *> *fields
Token name_token = name->Ident.token;
Entity *field = alloc_entity_field(ctx->scope, name_token, type, is_using, field_src_index);
- add_entity(ctx->checker, ctx->scope, name, field);
+ add_entity(ctx, ctx->scope, name, field);
array_add(fields, field);
array_add(tags, p->tag.string);
@@ -483,7 +483,7 @@ Type *check_record_polymorphic_params(CheckerContext *ctx, Ast *polymorphic_para
}
e->state = EntityState_Resolved;
- add_entity(ctx->checker, scope, name, e);
+ add_entity(ctx, scope, name, e);
array_add(&entities, e);
}
}
@@ -795,7 +795,7 @@ void check_enum_type(CheckerContext *ctx, Type *enum_type, Type *named_type, Ast
if (scope_lookup_current(ctx->scope, name) != nullptr) {
error(ident, "'%.*s' is already declared in this enumeration", LIT(name));
} else {
- add_entity(ctx->checker, ctx->scope, nullptr, e);
+ add_entity(ctx, ctx->scope, nullptr, e);
array_add(&fields, e);
// TODO(bill): Should I add a use for the enum value?
add_entity_use(ctx, field, e);
@@ -1622,7 +1622,7 @@ Type *check_get_params(CheckerContext *ctx, Scope *scope, Ast *_params, bool *is
}
param->state = EntityState_Resolved; // NOTE(bill): This should have be resolved whilst determining it
- add_entity(ctx->checker, scope, name, param);
+ add_entity(ctx, scope, name, param);
if (is_using) {
add_entity_use(ctx, name, param);
}
@@ -1749,7 +1749,7 @@ Type *check_get_results(CheckerContext *ctx, Scope *scope, Ast *_results) {
param->flags |= EntityFlag_Result;
param->Variable.param_value = param_value;
array_add(&variables, param);
- add_entity(ctx->checker, scope, name, param);
+ add_entity(ctx, scope, name, param);
// NOTE(bill): Removes `declared but not used` when using -vet
add_entity_use(ctx, name, param);
}
@@ -2243,7 +2243,7 @@ Type *make_soa_struct_internal(CheckerContext *ctx, Ast *array_typ_expr, Ast *el
Entity *new_field = alloc_entity_field(scope, token, field_type, false, cast(i32)i);
soa_struct->Struct.fields[i] = new_field;
- add_entity(ctx->checker, scope, nullptr, new_field);
+ add_entity(ctx, scope, nullptr, new_field);
add_entity_use(ctx, nullptr, new_field);
}
@@ -2277,7 +2277,7 @@ Type *make_soa_struct_internal(CheckerContext *ctx, Ast *array_typ_expr, Ast *el
}
Entity *new_field = alloc_entity_field(scope, old_field->token, field_type, false, old_field->Variable.field_src_index);
soa_struct->Struct.fields[i] = new_field;
- add_entity(ctx->checker, scope, nullptr, new_field);
+ add_entity(ctx, scope, nullptr, new_field);
add_entity_use(ctx, nullptr, new_field);
} else {
soa_struct->Struct.fields[i] = old_field;
@@ -2290,13 +2290,13 @@ Type *make_soa_struct_internal(CheckerContext *ctx, Ast *array_typ_expr, Ast *el
if (soa_kind != StructSoa_Fixed) {
Entity *len_field = alloc_entity_field(scope, empty_token, t_int, false, cast(i32)field_count+0);
soa_struct->Struct.fields[field_count+0] = len_field;
- add_entity(ctx->checker, scope, nullptr, len_field);
+ add_entity(ctx, scope, nullptr, len_field);
add_entity_use(ctx, nullptr, len_field);
if (soa_kind == StructSoa_Dynamic) {
Entity *cap_field = alloc_entity_field(scope, empty_token, t_int, false, cast(i32)field_count+1);
soa_struct->Struct.fields[field_count+1] = cap_field;
- add_entity(ctx->checker, scope, nullptr, cap_field);
+ add_entity(ctx, scope, nullptr, cap_field);
add_entity_use(ctx, nullptr, cap_field);
Token token = {};
@@ -2304,7 +2304,7 @@ Type *make_soa_struct_internal(CheckerContext *ctx, Ast *array_typ_expr, Ast *el
init_mem_allocator(ctx->checker);
Entity *allocator_field = alloc_entity_field(scope, token, t_allocator, false, cast(i32)field_count+2);
soa_struct->Struct.fields[field_count+2] = allocator_field;
- add_entity(ctx->checker, scope, nullptr, allocator_field);
+ add_entity(ctx, scope, nullptr, allocator_field);
add_entity_use(ctx, nullptr, allocator_field);
}
}
@@ -2312,7 +2312,7 @@ Type *make_soa_struct_internal(CheckerContext *ctx, Ast *array_typ_expr, Ast *el
Token token = {};
token.string = str_lit("Base_Type");
Entity *base_type_entity = alloc_entity_type_name(scope, token, elem, EntityState_Resolved);
- add_entity(ctx->checker, scope, nullptr, base_type_entity);
+ add_entity(ctx, scope, nullptr, base_type_entity);
add_type_info_type(ctx, soa_struct);
@@ -2425,8 +2425,8 @@ bool check_type_internal(CheckerContext *ctx, Ast *e, Type **type, Type *named_t
t->Generic.entity = e;
e->TypeName.is_type_alias = true;
e->state = EntityState_Resolved;
- add_entity(ctx->checker, ps, ident, e);
- add_entity(ctx->checker, s, ident, e);
+ add_entity(ctx, ps, ident, e);
+ add_entity(ctx, s, ident, e);
} else {
error(ident, "Invalid use of a polymorphic parameter '$%.*s'", LIT(token.string));
*type = t_invalid;