Feature: explicit string representation for enum fields

This commit is contained in:
Araq 2011-01-11 01:09:48 +01:00
commit 1a8c6fb49f
9 changed files with 94 additions and 8 deletions

View file

@ -20,6 +20,7 @@ tcontinuexc.nim;ECcaught
tcopy.nim;TEMP=C:\Programs\xyz\bin
tcurrncy.nim;25
temit.nim;509
tenumhole;my value A1my value Bconc2valueCabc4abc
texcsub.nim;caught!
texplicitgeneric1.nim;Key: 12 value: 12Key: 13 value: 13 Key: A value: 12 Key: B value: 13
tfinally.nim;came here 3
@ -44,6 +45,7 @@ tmultim1.nim;7
tmultim2.nim;collide: unit, thing collide: unit, thing collide: thing, unit
tmultim3.nim;Hi derived!
tmultim4.nim;hello
tnamedenumfields;my value A0my value Bconc1valueCabc3abc
tnestif.nim;i == 2
tnestprc.nim;10
toop1.nim;34[]o 5

1 tack.nim 125
20 tcopy.nim TEMP=C:\Programs\xyz\bin
21 tcurrncy.nim 25
22 temit.nim 509
23 tenumhole my value A1my value Bconc2valueCabc4abc
24 texcsub.nim caught!
25 texplicitgeneric1.nim Key: 12 value: 12Key: 13 value: 13 Key: A value: 12 Key: B value: 13
26 tfinally.nim came here 3
45 tmultim2.nim collide: unit, thing collide: unit, thing collide: thing, unit
46 tmultim3.nim Hi derived!
47 tmultim4.nim hello
48 tnamedenumfields my value A0my value Bconc1valueCabc3abc
49 tnestif.nim i == 2
50 tnestprc.nim 10
51 toop1.nim 34[]o 5

View file

@ -0,0 +1,16 @@
const
strValB = "my value B"
type
TMyEnum = enum
valueA = (1, "my value A"),
valueB = strValB & "conc",
valueC,
valueD = (4, "abc")
# trick the optimizer with a variable:
var x = valueD
echo valueA, ord(valueA), valueB, ord(valueB), valueC, valueD, ord(valueD), x

View file

@ -0,0 +1,17 @@
const
strValB = "my value B"
type
TMyEnum = enum
valueA = (0, "my value A"),
valueB = strValB & "conc",
valueC,
valueD = (3, "abc"),
valueE = 4
# trick the optimizer with a variable:
var x = valueD
echo valueA, ord(valueA), valueB, ord(valueB), valueC, valueD, ord(valueD), x