mirror of
https://github.com/status-im/evmc.git
synced 2025-02-23 08:28:15 +00:00
tools: Add output stream operator for evmc_revision
This commit is contained in:
parent
fa9e3d3b30
commit
ac11122e67
@ -117,4 +117,42 @@ std::ostream& operator<<(std::ostream& os, evmc_status_code status_code)
|
|||||||
return os << s;
|
return os << s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream& operator<<(std::ostream& os, evmc_revision revision)
|
||||||
|
{
|
||||||
|
const char* s = nullptr;
|
||||||
|
switch (revision)
|
||||||
|
{
|
||||||
|
case EVMC_FRONTIER:
|
||||||
|
s = "Frontier";
|
||||||
|
break;
|
||||||
|
case EVMC_HOMESTEAD:
|
||||||
|
s = "Homestead";
|
||||||
|
break;
|
||||||
|
case EVMC_TANGERINE_WHISTLE:
|
||||||
|
s = "Tangerine Whistle";
|
||||||
|
break;
|
||||||
|
case EVMC_SPURIOUS_DRAGON:
|
||||||
|
s = "Spurious Dragon";
|
||||||
|
break;
|
||||||
|
case EVMC_BYZANTIUM:
|
||||||
|
s = "Byzantium";
|
||||||
|
break;
|
||||||
|
case EVMC_CONSTANTINOPLE:
|
||||||
|
s = "Constantinople";
|
||||||
|
break;
|
||||||
|
case EVMC_PETERSBURG:
|
||||||
|
s = "Petersburg";
|
||||||
|
break;
|
||||||
|
case EVMC_ISTANBUL:
|
||||||
|
s = "Istanbul";
|
||||||
|
break;
|
||||||
|
case EVMC_BERLIN:
|
||||||
|
s = "Berlin";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw std::invalid_argument{"invalid EVM revision: " + std::to_string(revision)};
|
||||||
|
}
|
||||||
|
return os << s;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace evmc
|
} // namespace evmc
|
||||||
|
@ -33,4 +33,7 @@ std::string hex(const uint8_t* data, size_t size);
|
|||||||
/// Output stream operator for evmc_status_code.
|
/// Output stream operator for evmc_status_code.
|
||||||
std::ostream& operator<<(std::ostream& os, evmc_status_code status_code);
|
std::ostream& operator<<(std::ostream& os, evmc_status_code status_code);
|
||||||
|
|
||||||
|
/// Output stream operator for EVM revision.
|
||||||
|
std::ostream& operator<<(std::ostream& os, evmc_revision revision);
|
||||||
|
|
||||||
} // namespace evmc
|
} // namespace evmc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user