diff options
author | Araq <rumpf_a@web.de> | 2011-08-19 09:07:23 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-08-19 09:07:23 +0200 |
commit | ffefb736d9a408602f0dca9a762bd090c1c8cd1d (patch) | |
tree | ae177cda45bd8c3be725a003e847418e8c324ba9 | |
parent | 15440ec745ff9ad56b8095cb1efbb950199253c4 (diff) | |
download | Nim-ffefb736d9a408602f0dca9a762bd090c1c8cd1d.tar.gz |
small bugfix for eval
-rwxr-xr-x | compiler/evals.nim | 2 | ||||
-rw-r--r-- | tests/accept/run/tactiontable.nim | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/compiler/evals.nim b/compiler/evals.nim index 83dcf9df7..55157ea45 100755 --- a/compiler/evals.nim +++ b/compiler/evals.nim @@ -219,7 +219,7 @@ proc getNullValue(typ: PType, info: TLineInfo): PNode = var t = skipTypes(typ, abstractRange) result = emptyNode case t.kind - of tyBool, tyChar, tyInt..tyInt64: + of tyBool, tyEnum, tyChar, tyInt..tyInt64: result = newNodeIT(nkIntLit, info, t) of tyFloat..tyFloat128: result = newNodeIt(nkFloatLit, info, t) diff --git a/tests/accept/run/tactiontable.nim b/tests/accept/run/tactiontable.nim new file mode 100644 index 000000000..6fe39359c --- /dev/null +++ b/tests/accept/run/tactiontable.nim @@ -0,0 +1,27 @@ +discard """ + output: "action 3 arg" +""" + +import tables + +proc action1(arg: string) = + echo "action 1 ", arg + +proc action2(arg: string) = + echo "action 2 ", arg + +proc action3(arg: string) = + echo "action 3 ", arg + +proc action4(arg: string) = + echo "action 4 ", arg + +const + actionTable = { + "A": action1, + "B": action2, + "C": action3, + "D": action4}.toTable + +actionTable["C"]("arg") + |