Changeset 64f3b9f for src/AST/SymbolTable.cpp
- Timestamp:
- Dec 11, 2024, 6:09:10 PM (7 days ago)
- Branches:
- master
- Children:
- e797179
- Parents:
- ec22220
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/SymbolTable.cpp
rec22220 r64f3b9f 522 522 } 523 523 524 void SymbolTable::reviseSpecialAsDeleted( const FunctionDecl * func ) { 525 SpecialFunctionKind kind = getSpecialFunctionKind(func->name); 526 assert( kind != NUMBER_OF_KINDS ); 527 assert( func->linkage.is_overrideable ); 528 IdTable::Ptr & idTable = specialFunctionTable[kind]; 529 530 std::string otypeKey = getOtypeKey(func->type); 531 IdTable::iterator idHit = idTable->find( otypeKey ); 532 assert( idHit != idTable->end() ); 533 MangleTable::Ptr mangleTable = idHit->second; 534 535 std::string mangleName = Mangle::mangle( func, Mangle::Mode{ Mangle::NoOverrideable } ); 536 MangleTable::iterator mangleHit = mangleTable->find( mangleName ); 537 assert( mangleHit != mangleTable->end() ); 538 IdData oldEntry = mangleHit->second; 539 assert( oldEntry.id == func ); 540 541 mangleTable = mangleTable->set( mangleName, oldEntry.withDeleter( func ) ); 542 idTable = idTable->set( otypeKey, mangleTable ); 543 } 544 524 545 bool SymbolTable::removeSpecialOverrides( 525 546 SymbolTable::IdData & data, SymbolTable::MangleTable::Ptr & mangleTable ) {
Note: See TracChangeset
for help on using the changeset viewer.