- case "union":
- qname = BaseTypes.constructQName("union");
- addNodeToPath(qname);
- UnionTypeBuilder unionBuilder = moduleBuilder.addUnionType(line, namespace, revision);
- Builder parent = moduleBuilder.getActualNode();
- unionBuilder.setParent(parent);
- moduleBuilder.enterNode(unionBuilder);
- break;
- case "identityref":
- qname = BaseTypes.constructQName("identityref");
- addNodeToPath(qname);
- SchemaPath path = createActualSchemaPath(actualPath.peek());
- moduleBuilder.addIdentityrefType(line, path, getIdentityrefBase(typeBody));
- break;
- default:
- type = parseTypeWithBody(typeName, typeBody, actualPath.peek(), namespace, revision,
- yangModelPrefix, moduleBuilder.getActualNode());
- moduleBuilder.setType(type);
- addNodeToPath(type.getQName());
+ case "union":
+ qname = BaseTypes.UNION_QNAME;
+ stack.addNodeToPath(qname);
+ UnionTypeBuilder unionBuilder = moduleBuilder.addUnionType(line, moduleQName.getModule());
+ Builder parent = moduleBuilder.getActualNode();
+ unionBuilder.setParent(parent);
+ moduleBuilder.enterNode(unionBuilder);
+ break;
+ case "identityref":
+ qname = BaseTypes.IDENTITYREF_QNAME;
+ SchemaPath path = stack.addNodeToPath(qname);
+ moduleBuilder.addIdentityrefType(line, path, getIdentityrefBase(typeBody));
+ break;
+ default:
+ type = parseTypeWithBody(typeName, typeBody, stack.currentSchemaPath(), moduleQName, moduleBuilder.getActualNode());
+ moduleBuilder.setType(type);
+ stack.addNodeToPath(type.getQName());