diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2023-04-24 06:52:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-24 06:52:37 +0200 |
commit | 20b011de19c507380164c46c04cce174842f8e9e (patch) | |
tree | fcb690aa9dcd2eb74aaeecf7cce675ae2d3fc7cf /compiler/semstmts.nim | |
parent | 380dafcc32abed83148f5da78a2aaef608831f8a (diff) | |
download | Nim-20b011de19c507380164c46c04cce174842f8e9e.tar.gz |
refactoring in preparation for better, simpler name mangling that wor… (#21667)
* refactoring in preparation for better, simpler name mangling that works with IC flawlessly * use new disamb field * see if this makes tests green * make tests green again
Diffstat (limited to 'compiler/semstmts.nim')
-rw-r--r-- | compiler/semstmts.nim | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index 20fb12d71..63b3382a8 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -460,7 +460,7 @@ proc fillPartialObject(c: PContext; n: PNode; typ: PType) = let y = considerQuotedIdent(c, n[1]) let obj = x.typ.skipTypes(abstractPtrs) if obj.kind == tyObject and tfPartial in obj.flags: - let field = newSym(skField, getIdent(c.cache, y.s), nextSymId c.idgen, obj.sym, n[1].info) + let field = newSym(skField, getIdent(c.cache, y.s), c.idgen, obj.sym, n[1].info) field.typ = skipIntLit(typ, c.idgen) field.position = obj.n.len obj.n.add newSymNode(field) @@ -599,7 +599,7 @@ proc makeVarTupleSection(c: PContext, n, a, def: PNode, typ: PType, symkind: TSy let useTemp = def.kind notin {nkPar, nkTupleConstr} or symkind == skConst if useTemp: # use same symkind for compatibility with original section - tmpTuple = newSym(symkind, getIdent(c.cache, "tmpTuple"), nextSymId c.idgen, getCurrOwner(c), n.info) + tmpTuple = newSym(symkind, getIdent(c.cache, "tmpTuple"), c.idgen, getCurrOwner(c), n.info) tmpTuple.typ = typ tmpTuple.flags.incl(sfGenSym) lastDef = newNodeI(defkind, a.info) @@ -1127,10 +1127,10 @@ proc semCase(c: PContext, n: PNode; flags: TExprFlags; expectedType: PType = nil popCaseContext(c) closeScope(c) return handleCaseStmtMacro(c, n, flags) - template invalidOrderOfBranches(n: PNode) = + template invalidOrderOfBranches(n: PNode) = localError(c.config, n.info, "invalid order of case branches") break - + for i in 1..<n.len: setCaseContextIdx(c, i) var x = n[i] @@ -1476,7 +1476,7 @@ proc typeSectionRightSidePass(c: PContext, n: PNode) = if tfInheritable in oldFlags and tfFinal in objTy.flags: excl(objTy.flags, tfFinal) let obj = newSym(skType, getIdent(c.cache, s.name.s & ":ObjectType"), - nextSymId c.idgen, getCurrOwner(c), s.info) + c.idgen, getCurrOwner(c), s.info) obj.flags.incl sfGeneratedType let symNode = newSymNode(obj) obj.ast = a.shallowCopy @@ -1656,7 +1656,7 @@ proc swapResult(n: PNode, sRes: PSym, dNode: PNode) = proc addResult(c: PContext, n: PNode, t: PType, owner: TSymKind) = template genResSym(s) = - var s = newSym(skResult, getIdent(c.cache, "result"), nextSymId c.idgen, + var s = newSym(skResult, getIdent(c.cache, "result"), c.idgen, getCurrOwner(c), n.info) s.typ = t incl(s.flags, sfUsed) @@ -1997,7 +1997,7 @@ proc semProcAux(c: PContext, n: PNode, kind: TSymKind, case n[namePos].kind of nkEmpty: - s = newSym(kind, c.cache.idAnon, nextSymId c.idgen, c.getCurrOwner, n.info) + s = newSym(kind, c.cache.idAnon, c.idgen, c.getCurrOwner, n.info) s.flags.incl sfUsed n[namePos] = newSymNode(s) of nkSym: @@ -2211,7 +2211,7 @@ proc semProcAux(c: PContext, n: PNode, kind: TSymKind, trackProc(c, s, s.ast[bodyPos]) else: if (s.typ[0] != nil and s.kind != skIterator): - addDecl(c, newSym(skUnknown, getIdent(c.cache, "result"), nextSymId c.idgen, s, n.info)) + addDecl(c, newSym(skUnknown, getIdent(c.cache, "result"), c.idgen, s, n.info)) openScope(c) n[bodyPos] = semGenericStmt(c, n[bodyPos]) |