From a0d96a08562c7e1116fdf3471031937d7cabcf1c Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 25 May 2026 14:13:42 -0400 Subject: [PATCH] Factor out repeated `expandedSymName` logic --- src/asm/symbol.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/asm/symbol.cpp b/src/asm/symbol.cpp index 5c26f010..61ef06a4 100644 --- a/src/asm/symbol.cpp +++ b/src/asm/symbol.cpp @@ -286,6 +286,10 @@ static bool isAutoScoped(std::string const &symName) { return true; } +static std::string expandedSymName(std::string const &symName) { + return isAutoScoped(symName) ? globalScope->name + symName : symName; +} + Symbol *sym_FindExactSymbol(std::string const &symName) { assumeAlreadyExpanded(symName); @@ -294,7 +298,7 @@ Symbol *sym_FindExactSymbol(std::string const &symName) { } Symbol *sym_FindScopedSymbol(std::string const &symName) { - return sym_FindExactSymbol(isAutoScoped(symName) ? globalScope->name + symName : symName); + return sym_FindExactSymbol(expandedSymName(symName)); } Symbol *sym_FindScopedValidSymbol(std::string const &symName) { @@ -366,7 +370,7 @@ bool sym_IsPurgedExact(std::string const &symName) { } bool sym_IsPurgedScoped(std::string const &symName) { - return sym_IsPurgedExact(isAutoScoped(symName) ? globalScope->name + symName : symName); + return sym_IsPurgedExact(expandedSymName(symName)); } int32_t sym_GetRSValue() { @@ -558,7 +562,7 @@ Symbol *sym_AddLocalLabel(std::string const &symName) { // The symbol name should be local, qualified or not assume(symName.find('.') != std::string::npos); - Symbol *sym = addLabel(isAutoScoped(symName) ? globalScope->name + symName : symName); + Symbol *sym = addLabel(expandedSymName(symName)); if (sym) { localScope = sym; @@ -678,7 +682,7 @@ Symbol *sym_Ref(std::string const &symName) { Symbol *sym = sym_FindScopedSymbol(symName); if (!sym) { - sym = &createSymbol(isAutoScoped(symName) ? globalScope->name + symName : symName); + sym = &createSymbol(expandedSymName(symName)); sym->type = SYM_REF; }