+ @Override
+ public void enterAnyxml_stmt(YangParser.Anyxml_stmtContext ctx) {
+ final String anyXmlName = stringFromNode(ctx);
+ QName anyXmlQName = new QName(namespace, revision, yangModelPrefix,
+ anyXmlName);
+ AnyXmlBuilder anyXmlBuilder = moduleBuilder.addAnyXml(anyXmlQName,
+ actualPath);
+ updatePath(anyXmlName);
+
+ anyXmlBuilder.setPath(createActualSchemaPath(actualPath, namespace,
+ revision, yangModelPrefix));
+ parseSchemaNodeArgs(ctx, anyXmlBuilder);
+ parseConstraints(ctx, anyXmlBuilder.getConstraints());
+ }
+
+ @Override
+ public void exitAnyxml_stmt(YangParser.Anyxml_stmtContext ctx) {
+ final String actContainer = actualPath.pop();
+ logger.debug("exiting " + actContainer);
+ }
+
+ @Override
+ public void enterChoice_stmt(YangParser.Choice_stmtContext ctx) {
+ final String choiceName = stringFromNode(ctx);
+ QName choiceQName = new QName(namespace, revision, yangModelPrefix,
+ choiceName);
+ ChoiceBuilder choiceBuilder = moduleBuilder.addChoice(choiceQName,
+ actualPath);
+
+ updatePath(choiceName);
+ choiceBuilder.setPath(createActualSchemaPath(actualPath, namespace,
+ revision, yangModelPrefix));
+ parseSchemaNodeArgs(ctx, choiceBuilder);
+ parseConstraints(ctx, choiceBuilder.getConstraints());
+
+ // set 'default' case
+ for (int i = 0; i < ctx.getChildCount(); i++) {
+ ParseTree child = ctx.getChild(i);
+ if (child instanceof Default_stmtContext) {
+ String defaultCase = stringFromNode(child);
+ choiceBuilder.setDefaultCase(defaultCase);
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void exitChoice_stmt(YangParser.Choice_stmtContext ctx) {
+ final String actContainer = actualPath.pop();
+ logger.debug("exiting " + actContainer);
+ }
+
+ @Override
+ public void enterCase_stmt(YangParser.Case_stmtContext ctx) {
+ final String caseName = stringFromNode(ctx);
+ QName choiceQName = new QName(namespace, revision, yangModelPrefix,
+ caseName);
+ ChoiceCaseBuilder caseBuilder = moduleBuilder.addCase(choiceQName,
+ actualPath);
+
+ updatePath(caseName);
+ caseBuilder.setPath(createActualSchemaPath(actualPath, namespace,
+ revision, yangModelPrefix));
+ parseSchemaNodeArgs(ctx, caseBuilder);
+ parseConstraints(ctx, caseBuilder.getConstraints());
+ }
+
+ @Override
+ public void exitCase_stmt(YangParser.Case_stmtContext ctx) {
+ final String actContainer = actualPath.pop();
+ logger.debug("exiting " + actContainer);
+ }
+