mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
add one more message
This commit is contained in:
@@ -429,9 +429,12 @@ proc replaceObjConstr(c: PContext; field: PNode, result: PNode, iterField: var i
|
||||
replaceObjConstr(c, field[0], result, iterField, flags)
|
||||
if iterField > oldIterField:
|
||||
doAssert discriminatorVal != nil and discriminatorVal.kind == nkIntLit # todo error messages
|
||||
let matchedBranch = field.pickCaseBranch discriminatorVal
|
||||
if matchedBranch != nil:
|
||||
replaceObjConstr(c, matchedBranch.lastSon, result, iterField, flags)
|
||||
if discriminatorVal == nil or discriminatorVal.kind != nkIntLit:
|
||||
localError(c.config, result.info, "Using unnamed fields, the discriminator can only be initialized with values known at the compile time")
|
||||
else:
|
||||
let matchedBranch = field.pickCaseBranch discriminatorVal
|
||||
if matchedBranch != nil:
|
||||
replaceObjConstr(c, matchedBranch.lastSon, result, iterField, flags)
|
||||
of nkSym:
|
||||
if result[iterField].kind == nkExprColonExpr and field.sym.name.id == considerQuotedIdent(c, result[iterField][0]).id:
|
||||
inc iterField
|
||||
|
||||
Reference in New Issue
Block a user