From 30c00aba07cd8b86dc935209bcad74558bae26ad Mon Sep 17 00:00:00 2001 From: Araq Date: Tue, 4 Sep 2012 23:57:39 +0200 Subject: [PATCH] bugfixes and improvements for term rewriting macros --- compiler/parampatterns.nim | 2 +- compiler/patterns.nim | 29 +++++++++++++++++++---------- compiler/semtempl.nim | 6 ++++-- tests/patterns/tstar.nim | 2 +- tests/patterns/tstmtlist.nim | 10 +++++----- 5 files changed, 30 insertions(+), 19 deletions(-) diff --git a/compiler/parampatterns.nim b/compiler/parampatterns.nim index 83585dbd46..3b5c8f6fa9 100644 --- a/compiler/parampatterns.nim +++ b/compiler/parampatterns.nim @@ -135,7 +135,7 @@ proc checkForSideEffects(n: PNode): TSideEffectAnalysis = # only calls can produce side effects: let op = n.sons[0] if op.kind == nkSym and isRoutine(op.sym): - let s = n.sym + let s = op.sym if sfSideEffect in s.flags: return seSideEffect # assume no side effect: diff --git a/compiler/patterns.nim b/compiler/patterns.nim index 110fae08a3..48ad550234 100644 --- a/compiler/patterns.nim +++ b/compiler/patterns.nim @@ -53,15 +53,15 @@ proc sameTrees(a, b: PNode): bool = result = true proc inSymChoice(sc, x: PNode): bool = - if sc.kind == nkClosedSymChoice: - for i in 0..