| 1254 | } |
| 1255 | |
| 1256 | bool verifyModuleNamesUnique ( const vector<ModuleInfo> & req, TextWriter & logs ) { |
| 1257 | das_hash_map<string, string> fullName; |
| 1258 | for ( auto & r : req ) { |
| 1259 | if ( fullName.find(r.moduleName) != fullName.end() ) { |
| 1260 | logs << "several modules with the same name '" << r.moduleName << "'\n" << |
| 1261 | "namely '" << r.fileName << "' and '" << fullName[r.moduleName] << "'\n"; |
| 1262 | return false; |
| 1263 | } |
| 1264 | fullName[r.moduleName] = r.fileName; |
| 1265 | } |
| 1266 | return true; |
| 1267 | } |
| 1268 | |
| 1269 | static uint64_t normalizedPathHash(const string &path, const string &base) { |
| 1270 | auto urlBase = from_file_name(base.c_str()); |
no test coverage detected