| 263 | } |
| 264 | |
| 265 | std::vector<ErrorDefinition const*> ContractDefinition::interfaceErrors(bool _requireCallGraph) const |
| 266 | { |
| 267 | std::set<ErrorDefinition const*, CompareByID> result; |
| 268 | for (ContractDefinition const* contract: annotation().linearizedBaseContracts) |
| 269 | result += filteredNodes<ErrorDefinition>(contract->m_subNodes); |
| 270 | solAssert(annotation().creationCallGraph.set() == annotation().deployedCallGraph.set(), ""); |
| 271 | if (_requireCallGraph) |
| 272 | solAssert(annotation().creationCallGraph.set(), ""); |
| 273 | if (annotation().creationCallGraph.set()) |
| 274 | result += |
| 275 | (*annotation().creationCallGraph)->usedErrors + |
| 276 | (*annotation().deployedCallGraph)->usedErrors; |
| 277 | return util::convertContainer<std::vector<ErrorDefinition const*>>(std::move(result)); |
| 278 | } |
| 279 | |
| 280 | std::vector<std::pair<util::FixedHash<4>, FunctionTypePointer>> const& ContractDefinition::interfaceFunctionList(bool _includeInheritedFunctions) const |
| 281 | { |