| 888 | } |
| 889 | |
| 890 | std::string const CompilerStack::lastContractName(std::optional<std::string> const& _sourceName) const |
| 891 | { |
| 892 | solAssert(m_stackState >= AnalysisSuccessful, "Parsing was not successful."); |
| 893 | // try to find some user-supplied contract |
| 894 | std::string contractName; |
| 895 | for (auto const& it: m_sources) |
| 896 | if (_sourceName.value_or(it.first) == it.first) |
| 897 | for (auto const* contract: ASTNode::filteredNodes<ContractDefinition>(it.second.ast->nodes())) |
| 898 | contractName = contract->fullyQualifiedName(); |
| 899 | return contractName; |
| 900 | } |
| 901 | |
| 902 | evmasm::AssemblyItems const* CompilerStack::assemblyItems(std::string const& _contractName) const |
| 903 | { |