Yang Listener for BITS Data Type

Change-Id: I81e7f7e8de38ce20addd63548414a486b7e2ffb8
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java
index 07ada45..7c050dc 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java
@@ -34,7 +34,6 @@
 import org.onosproject.yangutils.parser.exceptions.ParserException;
 import org.onosproject.yangutils.parser.impl.TreeWalkListener;
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLocation.ENTRY;
-import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLocation.EXIT;
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructListenerErrorMessage;
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.INVALID_HOLDER;
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_HOLDER;
@@ -70,7 +69,7 @@
             case ENUM_DATA: {
                 YangEnum enumNode = (YangEnum) tmpNode;
                 if (!isEnumValueValid(listener, ctx)) {
-                    ParserException parserException = new ParserException("Input version not supported");
+                    ParserException parserException = new ParserException("Duplicate Value Entry");
                     parserException.setLine(ctx.INTEGER().getSymbol().getLine());
                     parserException.setCharPosition(ctx.INTEGER().getSymbol().getCharPositionInLine());
                     throw parserException;
@@ -93,6 +92,10 @@
      */
     private static boolean isEnumValueValid(TreeWalkListener listener, GeneratedYangParser.ValueStatementContext ctx) {
         Parsable enumNode = listener.getParsedDataStack().pop();
+
+        // Check for stack to be non empty.
+        checkStackIsNotEmpty(listener, MISSING_HOLDER, VALUE_DATA, ctx.INTEGER().getText(), ENTRY);
+
         Parsable tmpNode = listener.getParsedDataStack().peek();
         switch (tmpNode.getParsableDataType()) {
             case ENUMERATION_DATA: {
@@ -109,7 +112,7 @@
             default:
                 listener.getParsedDataStack().push(enumNode);
                 throw new ParserException(
-                        constructListenerErrorMessage(INVALID_HOLDER, VALUE_DATA, ctx.INTEGER().getText(), EXIT));
+                        constructListenerErrorMessage(INVALID_HOLDER, VALUE_DATA, ctx.INTEGER().getText(), ENTRY));
         }
     }
 }