| 51 | } |
| 52 | |
| 53 | AssemblyItem AssemblyItem::toSubAssemblyTag(SubAssemblyID _subId) const |
| 54 | { |
| 55 | assertThrow(data() < (u256(1) << 64), util::Exception, "Tag already has subassembly set."); |
| 56 | assertThrow(m_type == PushTag || m_type == Tag, util::Exception, ""); |
| 57 | auto tag = static_cast<size_t>(u256(data()) & 0xffffffffffffffffULL); |
| 58 | AssemblyItem r = *this; |
| 59 | r.m_type = PushTag; |
| 60 | r.setPushTagSubIdAndTag(_subId, tag); |
| 61 | return r; |
| 62 | } |
| 63 | |
| 64 | std::pair<SubAssemblyID, size_t> AssemblyItem::splitForeignPushTag() const |
| 65 | { |
no test coverage detected