--------------------------------------------------------------
| 127 | } |
| 128 | //-------------------------------------------------------------- |
| 129 | int debugSymbolPage_t::addSymbol( debugSymbol_t*sym ) |
| 130 | { |
| 131 | // Check if symbol already is loaded by that name or offset |
| 132 | if ( symMap.count( sym->offset() ) ) |
| 133 | { |
| 134 | snprintf( dbgSymTblErrMsg, sizeof(dbgSymTblErrMsg), "Error: symbol offset 0x%04X already has an entry on %s page\n", sym->offset(), _pageName ); |
| 135 | return -1; |
| 136 | } |
| 137 | if ( !dbgSymAllowDuplicateNames && (sym->name().size() > 0) && symNameMap.count( sym->name() ) ) |
| 138 | { |
| 139 | snprintf( dbgSymTblErrMsg, sizeof(dbgSymTblErrMsg), "Error: symbol name '%s' already exists on %s page\n", sym->name().c_str(), _pageName ); |
| 140 | return -1; |
| 141 | } |
| 142 | |
| 143 | symMap[ sym->offset() ] = sym; |
| 144 | |
| 145 | sym->page = this; |
| 146 | |
| 147 | // Comment only lines don't need to have a name. |
| 148 | if (sym->name().size() > 0) |
| 149 | { |
| 150 | symNameMap[ sym->name() ] = sym; |
| 151 | } |
| 152 | |
| 153 | return 0; |
| 154 | } |
| 155 | //-------------------------------------------------------------- |
| 156 | debugSymbol_t *debugSymbolPage_t::getSymbolAtOffset( int ofs ) |
| 157 | { |
no test coverage detected