mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-16 08:04:20 +00:00
fixes #7215
This commit is contained in:
@@ -1661,7 +1661,7 @@ proc isException*(t: PType): bool =
|
||||
# check if `y` is object type and it inherits from Exception
|
||||
assert(t != nil)
|
||||
|
||||
if t.kind != tyObject:
|
||||
if t.kind != tyObject:
|
||||
return false
|
||||
|
||||
var base = t
|
||||
|
||||
@@ -1467,7 +1467,7 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg =
|
||||
"request to create a NimNode of invalid kind")
|
||||
let cc = regs[rc].node
|
||||
|
||||
regs[ra].node = newNodeI(TNodeKind(int(k)),
|
||||
let x = newNodeI(TNodeKind(int(k)),
|
||||
if cc.kind != nkNilLit:
|
||||
cc.info
|
||||
elif c.comesFromHeuristic.line > -1:
|
||||
@@ -1476,7 +1476,10 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg =
|
||||
c.callsite[1].info
|
||||
else:
|
||||
c.debug[pc])
|
||||
regs[ra].node.flags.incl nfIsRef
|
||||
x.flags.incl nfIsRef
|
||||
# prevent crashes in the compiler resulting from wrong macros:
|
||||
if x.kind == nkIdent: x.ident = getIdent""
|
||||
regs[ra].node = x
|
||||
of opcNCopyNimNode:
|
||||
decodeB(rkNode)
|
||||
regs[ra].node = copyNode(regs[rb].node)
|
||||
|
||||
@@ -711,7 +711,7 @@ proc mapLitsImpl(constructor: NimNode; op: NimNode; nested: bool;
|
||||
result.add op
|
||||
result.add constructor
|
||||
else:
|
||||
result = newNimNode(constructor.kind, lineInfoFrom=constructor)
|
||||
result = copyNimNode(constructor)
|
||||
for v in constructor:
|
||||
if nested or v.kind in filter:
|
||||
result.add mapLitsImpl(v, op, nested, filter)
|
||||
|
||||
Reference in New Issue
Block a user