Factor out repeated expandedSymName logic

This commit is contained in:
Rangi
2026-05-25 14:13:42 -04:00
parent 4b992bfea5
commit a0d96a0856
+8 -4
View File
@@ -286,6 +286,10 @@ static bool isAutoScoped(std::string const &symName) {
return true; return true;
} }
static std::string expandedSymName(std::string const &symName) {
return isAutoScoped(symName) ? globalScope->name + symName : symName;
}
Symbol *sym_FindExactSymbol(std::string const &symName) { Symbol *sym_FindExactSymbol(std::string const &symName) {
assumeAlreadyExpanded(symName); assumeAlreadyExpanded(symName);
@@ -294,7 +298,7 @@ Symbol *sym_FindExactSymbol(std::string const &symName) {
} }
Symbol *sym_FindScopedSymbol(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) { 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) { 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() { int32_t sym_GetRSValue() {
@@ -558,7 +562,7 @@ Symbol *sym_AddLocalLabel(std::string const &symName) {
// The symbol name should be local, qualified or not // The symbol name should be local, qualified or not
assume(symName.find('.') != std::string::npos); assume(symName.find('.') != std::string::npos);
Symbol *sym = addLabel(isAutoScoped(symName) ? globalScope->name + symName : symName); Symbol *sym = addLabel(expandedSymName(symName));
if (sym) { if (sym) {
localScope = sym; localScope = sym;
@@ -678,7 +682,7 @@ Symbol *sym_Ref(std::string const &symName) {
Symbol *sym = sym_FindScopedSymbol(symName); Symbol *sym = sym_FindScopedSymbol(symName);
if (!sym) { if (!sym) {
sym = &createSymbol(isAutoScoped(symName) ? globalScope->name + symName : symName); sym = &createSymbol(expandedSymName(symName));
sym->type = SYM_REF; sym->type = SYM_REF;
} }