aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-12-22 12:01:41 +0000
committergingerBill <bill@gingerbill.org>2022-12-22 12:01:41 +0000
commit9b278db9934913367a8e186b9c6aa9c03017f3d4 (patch)
tree04380830523707263d399cce9152ea03174266ef /src/checker.cpp
parente98f1a28e68e82753728f58b3465793192b74f9d (diff)
Revert "Change `tav` to be a pointer internally"
This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index 0f64c6ae9..14a0e5f4c 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -1287,13 +1287,13 @@ gb_internal void destroy_checker(Checker *c) {
gb_internal TypeAndValue type_and_value_of_expr(Ast *expr) {
TypeAndValue tav = {};
if (expr != nullptr) {
- tav = expr->tav();
+ tav = expr->tav;
}
return tav;
}
gb_internal Type *type_of_expr(Ast *expr) {
- TypeAndValue tav = expr->tav();
+ TypeAndValue tav = expr->tav;
if (tav.mode != Addressing_Invalid) {
return tav.type;
}
@@ -1462,20 +1462,20 @@ gb_internal void add_type_and_value(CheckerInfo *i, Ast *expr, AddressingMode mo
Ast *prev_expr = nullptr;
while (prev_expr != expr) {
prev_expr = expr;
- expr->tav().mode = mode;
- if (type != nullptr && expr->tav().type != nullptr &&
- is_type_any(type) && is_type_untyped(expr->tav().type)) {
+ expr->tav.mode = mode;
+ if (type != nullptr && expr->tav.type != nullptr &&
+ is_type_any(type) && is_type_untyped(expr->tav.type)) {
// ignore
} else {
- expr->tav().type = type;
+ expr->tav.type = type;
}
if (mode == Addressing_Constant || mode == Addressing_Invalid) {
- expr->tav().value = value;
+ expr->tav.value = value;
} else if (mode == Addressing_Value && is_type_typeid(type)) {
- expr->tav().value = value;
+ expr->tav.value = value;
} else if (mode == Addressing_Value && is_type_proc(type)) {
- expr->tav().value = value;
+ expr->tav.value = value;
}
expr = unparen_expr(expr);
@@ -3635,8 +3635,8 @@ gb_internal void check_collect_value_decl(CheckerContext *c, Ast *decl) {
if (value != nullptr) {
if (value->kind == Ast_BasicLit && value->BasicLit.token.kind == Token_String) {
String v = {};
- if (value->tav().value.kind == ExactValue_String) {
- v = value->tav().value.value_string;
+ if (value->tav.value.kind == ExactValue_String) {
+ v = value->tav.value.value_string;
}
if (v == "file") {
kind = EntityVisiblity_PrivateToFile;