| 501 | } |
| 502 | |
| 503 | void ContractLevelChecker::checkHashCollisions(ContractDefinition const& _contract) |
| 504 | { |
| 505 | std::set<util::FixedHash<4>> hashes; |
| 506 | for (auto const& it: _contract.interfaceFunctionList()) |
| 507 | { |
| 508 | util::FixedHash<4> const& hash = it.first; |
| 509 | if (hashes.count(hash)) |
| 510 | m_errorReporter.fatalTypeError( |
| 511 | 1860_error, |
| 512 | _contract.location(), |
| 513 | std::string("Function signature hash collision for ") + it.second->externalSignature() |
| 514 | ); |
| 515 | hashes.insert(hash); |
| 516 | } |
| 517 | } |
| 518 | |
| 519 | void ContractLevelChecker::checkLibraryRequirements(ContractDefinition const& _contract) |
| 520 | { |
nothing calls this directly
no test coverage detected