X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fimpl%2FParserListenerUtils.java;h=542506045d031de4381010e849d29f9aef56b614;hb=0b5bd33d5b1bc99df1c787026c87c138ade6f4ae;hp=b8fb5b4a17d4894049f23e8f4222ca2637b2f3e6;hpb=f4ed88c1602d1d14dad431478e934d4b83aa3469;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java index b8fb5b4a17..542506045d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java @@ -13,14 +13,12 @@ import com.google.common.base.CharMatcher; import com.google.common.base.Optional; import com.google.common.base.Splitter; import com.google.common.collect.Lists; - import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; - import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -1071,10 +1069,12 @@ public final class ParserListenerUtils { if (parent instanceof TypeDefinitionBuilder) { TypeDefinitionBuilder typedef = (TypeDefinitionBuilder) parent; - typedef.setRanges(rangeStatements); - typedef.setLengths(lengthStatements); - typedef.setPatterns(patternStatements); - typedef.setFractionDigits(fractionDigits); + if (!(typedef instanceof UnionTypeBuilder)) { + typedef.setRanges(rangeStatements); + typedef.setLengths(lengthStatements); + typedef.setPatterns(patternStatements); + typedef.setFractionDigits(fractionDigits); + } return unknownType.build(); } else { TypeDefinition baseType = unknownType.build(); @@ -1428,7 +1428,12 @@ public final class ParserListenerUtils { for (int i = 0; i < ctx.getChildCount(); i++) { ParseTree maxArg = ctx.getChild(i); if (maxArg instanceof Max_value_argContext) { - result = Integer.valueOf(stringFromNode(maxArg)); + String maxValue = stringFromNode(maxArg); + if ("unbounded".equals(maxValue)) { + result = Integer.MAX_VALUE; + } else { + result = Integer.valueOf(maxValue); + } } } if (result == null) {