write `Fork` enum in a "modern way"
This provides the same functionality as `$` proc, but it keeps working with Nim 1.3+, where `parseEnum` implementation has been changed to be able to work with enums with holes (after a bugfix for them). Note that the first character is case-sensitive and "Constantinople" != "constantinople". Since the tests (`test_op_arith` and `test_op_bit`) use lower-case first letter, the string representation is also changed to the lower-case.
This commit is contained in:
parent
285d1ae7d8
commit
36a75197d2
|
@ -9,22 +9,11 @@ import stint, eth/common/eth_types
|
||||||
|
|
||||||
type
|
type
|
||||||
Fork* = enum
|
Fork* = enum
|
||||||
FkFrontier,
|
FkFrontier = "frontier"
|
||||||
FkHomestead,
|
FkHomestead = "homestead"
|
||||||
FkTangerine,
|
FkTangerine = "tangerine whistle"
|
||||||
FkSpurious,
|
FkSpurious = "spurious dragon"
|
||||||
FkByzantium,
|
FkByzantium = "byzantium"
|
||||||
FkConstantinople,
|
FkConstantinople = "constantinople"
|
||||||
FkPetersburg,
|
FkPetersburg = "petersburg"
|
||||||
FkIstanbul
|
FkIstanbul = "istanbul"
|
||||||
|
|
||||||
proc `$`*(fork: Fork): string =
|
|
||||||
case fork
|
|
||||||
of FkFrontier: result = "Frontier"
|
|
||||||
of FkHomestead: result = "Homestead"
|
|
||||||
of FkTangerine: result = "Tangerine Whistle"
|
|
||||||
of FkSpurious: result = "Spurious Dragon"
|
|
||||||
of FkByzantium: result = "Byzantium"
|
|
||||||
of FkConstantinople: result = "Constantinople"
|
|
||||||
of FkPetersburg: result = "Petersburg"
|
|
||||||
of FkIstanbul: result = "Istanbul"
|
|
||||||
|
|
Loading…
Reference in New Issue