mbeckerle commented on a change in pull request #488:
URL: https://github.com/apache/incubator-daffodil/pull/488#discussion_r575298883
##########
File path: daffodil-runtime2/src/main/resources/c/libruntime/infoset.c
##########
@@ -160,10 +160,11 @@ walkInfosetNode(const VisitEventHandler *handler, const
InfosetBase *infoNode)
handler->visitNumberElem(handler, childERD, numLocation);
break;
case CHOICE:
+ // Point next ERD to choice of alternative elements' ERDs
if (!infoNode->erd->initChoice(infoNode, rootElement()))
{
error_msg =
- "node's _choice field was not initialized during walk";
+ "Walk error: no match between choice dispatch key and any
branch key";
Review comment:
This one, we're walking the infoset. So the parser has already dealt
with the choice. At this point, if the choice dispatch key isn't one of the
choice branch keys, then the parser didn't do its job. So I think this is an
abort()/impossible situation that in theory one should not even be able to
exercise.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]