mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-27 17:53:58 +00:00
don't raise index defects on malformed ast (#15278)
* don't raise index defects on malformed ast * style
This commit is contained in:
@@ -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 =
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user