Code Review
/
yangtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Bug 4646: Parser accepts invalid models
[yangtools.git]
/
yang
/
yang-parser-impl
/
src
/
main
/
java
/
org
/
opendaylight
/
yangtools
/
yang
/
parser
/
builder
/
impl
/
UnionTypeBuilder.java
diff --git
a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java
b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java
index 1facf78f3d4c3386db29c74c46aabb4cf88a5d07..adb39dce786bd13fb9f3b9ecf204c5dbfc1e7fa1 100644
(file)
--- a/
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java
+++ b/
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java
@@
-31,20
+31,31
@@
import org.opendaylight.yangtools.yang.parser.util.YangParseException;
* types.
*/
public final class UnionTypeBuilder extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder {
* types.
*/
public final class UnionTypeBuilder extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder {
+ private static final SchemaPath SCHEMA_PATH = SchemaPath.create(true, BaseTypes.UNION_QNAME);
private static final String NAME = "union";
private static final String NAME = "union";
- private static final QName QNAME = BaseTypes.constructQName(NAME);
private final List<TypeDefinition<?>> types;
private final List<TypeDefinitionBuilder> typedefs;
private UnionType instance;
private boolean isBuilt;
private final List<TypeDefinition<?>> types;
private final List<TypeDefinitionBuilder> typedefs;
private UnionType instance;
private boolean isBuilt;
+ private List<QName> baseTypesQNames = new ArrayList<>();
+
public UnionTypeBuilder(final String moduleName, final int line) {
public UnionTypeBuilder(final String moduleName, final int line) {
- super(moduleName, line, BaseTypes.
constructQName(NAME)
);
+ super(moduleName, line, BaseTypes.
UNION_QNAME
);
types = new ArrayList<>();
typedefs = new ArrayList<>();
}
types = new ArrayList<>();
typedefs = new ArrayList<>();
}
+ public List<QName> getBaseTypeQNames() {
+ return baseTypesQNames;
+ }
+
+ @Override
+ public void setTypeQName(final QName qname) {
+ baseTypesQNames.add(qname);
+ }
+
public List<TypeDefinition<?>> getTypes() {
return types;
}
public List<TypeDefinition<?>> getTypes() {
return types;
}
@@
-122,7
+133,7
@@
public final class UnionTypeBuilder extends AbstractTypeAwareBuilder implements
@Override
public SchemaPath getPath() {
@Override
public SchemaPath getPath() {
- return S
chemaPath.create(true, QNAME)
;
+ return S
CHEMA_PATH
;
}
@Override
}
@Override