diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/semcall.nim | 11 | ||||
-rw-r--r-- | compiler/semstmts.nim | 9 |
2 files changed, 14 insertions, 6 deletions
diff --git a/compiler/semcall.nim b/compiler/semcall.nim index 1a6f754ee..3e4ed096b 100644 --- a/compiler/semcall.nim +++ b/compiler/semcall.nim @@ -495,9 +495,14 @@ proc updateDefaultParams(call: PNode) = proc getCallLineInfo(n: PNode): TLineInfo = case n.kind of nkAccQuoted, nkBracketExpr, nkCall, nkCallStrLit, nkCommand: - getCallLineInfo(n[0]) - of nkDotExpr: getCallLineInfo(n[1]) - else: n.info + if len(n) > 0: + return getCallLineInfo(n[0]) + of nkDotExpr: + if len(n) > 1: + return getCallLineInfo(n[1]) + else: + discard + result = n.info proc semResolvedCall(c: PContext, x: TCandidate, n: PNode, flags: TExprFlags): PNode = diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index fd4635ea5..5599eb3ef 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -324,11 +324,14 @@ proc semIdentDef(c: PContext, n: PNode, kind: TSymKind): PSym = proc getLineInfo(n: PNode): TLineInfo = case n.kind of nkPostfix: - getLineInfo(n[1]) + if len(n) > 1: + return getLineInfo(n[1]) of nkAccQuoted, nkPragmaExpr: - getLineInfo(n[0]) + if len(n) > 0: + return getLineInfo(n[0]) else: - n.info + discard + result = n.info let info = getLineInfo(n) suggestSym(c.config, info, result, c.graph.usageSym) |