| 739 | } |
| 740 | |
| 741 | AssemblyItem Assembly::namedTag(std::string const& _name, size_t _params, size_t _returns, std::optional<uint64_t> _sourceID) |
| 742 | { |
| 743 | assertThrow(!_name.empty(), AssemblyException, "Empty named tag."); |
| 744 | if (m_namedTags.count(_name)) |
| 745 | { |
| 746 | assertThrow(m_namedTags.at(_name).params == _params, AssemblyException, ""); |
| 747 | assertThrow(m_namedTags.at(_name).returns == _returns, AssemblyException, ""); |
| 748 | assertThrow(m_namedTags.at(_name).sourceID == _sourceID, AssemblyException, ""); |
| 749 | } |
| 750 | else |
| 751 | m_namedTags[_name] = {static_cast<size_t>(newTag().data()), _sourceID, _params, _returns}; |
| 752 | return AssemblyItem{Tag, m_namedTags.at(_name).id}; |
| 753 | } |
| 754 | |
| 755 | AssemblyItem Assembly::newFunctionCall(uint16_t _functionID) const |
| 756 | { |
no test coverage detected