Thanks for your advice ;-)

i modified code and got error as below:
    
    
    macro parse(a: typed; k: untyped): untyped =
      result = nnkCaseStmt.newTree(k)
      for fieldDef in a.getTypeImpl()[2]:
        let fieldNameIdent = fieldDef[0][0]
        # error: Expected one of {nnkSym, nnkType, nnkBracketExpr, nnkDotExpr, 
nnkCheckedFieldExpr, nnkTypeOfExpr}, got nnkCall
        if nnkDotExpr.newTree(a, fieldNameIdent).hasCustomPragma(opt):
          result.add nnkOfBranch.newTree(
              newLit(fieldNameIdent.strVal),
              nnkStmtList.newTree(
                nnkAsgn.newTree(nnkDotExpr.newTree(a, fieldNameIdent), 
newLit("🤔"))
              ),
            )
      result.add nnkElse.newTree(
          nnkStmtList.newTree(nnkDiscardStmt.newTree(newEmptyNode()))
        )
     
    
    Run

Reply via email to