From 648fa9e54a4f7e9ef5ee03f8cbb931a05ab58e56 Mon Sep 17 00:00:00 2001 From: spiel0meister Date: Mon, 2 Jun 2025 23:24:46 +0200 Subject: [PATCH 1/2] check if expr is null --- src/check_expr.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 20918c8f9..2287ea40b 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -263,11 +263,13 @@ gb_internal void check_did_you_mean_scope(String const &name, Scope *scope, char gb_internal Entity *entity_from_expr(Ast *expr) { expr = unparen_expr(expr); - switch (expr->kind) { - case Ast_Ident: - return expr->Ident.entity; - case Ast_SelectorExpr: - return entity_from_expr(expr->SelectorExpr.selector); + if (expr != nullptr) { + switch (expr->kind) { + case Ast_Ident: + return expr->Ident.entity; + case Ast_SelectorExpr: + return entity_from_expr(expr->SelectorExpr.selector); + } } return nullptr; } From d1fcec63cc9c34e13b20d5815abdba7ae80b78c1 Mon Sep 17 00:00:00 2001 From: spiel0meister Date: Tue, 3 Jun 2025 14:46:44 +0200 Subject: [PATCH 2/2] early return; fix indentation --- src/check_expr.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 2287ea40b..e3186a9b1 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -263,13 +263,14 @@ gb_internal void check_did_you_mean_scope(String const &name, Scope *scope, char gb_internal Entity *entity_from_expr(Ast *expr) { expr = unparen_expr(expr); - if (expr != nullptr) { - switch (expr->kind) { - case Ast_Ident: - return expr->Ident.entity; - case Ast_SelectorExpr: - return entity_from_expr(expr->SelectorExpr.selector); - } + if (expr == nullptr) { + return nullptr; + } + switch (expr->kind) { + case Ast_Ident: + return expr->Ident.entity; + case Ast_SelectorExpr: + return entity_from_expr(expr->SelectorExpr.selector); } return nullptr; }