| 367 | } |
| 368 | |
| 369 | PathId FileSystem::copy(PathId id, SymbolTable *toSymbolTable) { |
| 370 | if (!id) return BadPathId; |
| 371 | if (id.getSymbolTable() == toSymbolTable) return id; |
| 372 | |
| 373 | const std::string_view symbol1 = toPath(id); |
| 374 | if (symbol1 == BadRawSymbol) return BadPathId; |
| 375 | |
| 376 | auto [symbolId, symbol2] = toSymbolTable->add(symbol1); |
| 377 | return PathId(toSymbolTable, (RawSymbolId)symbolId, symbol2); |
| 378 | } |
| 379 | } // namespace SURELOG |