Title: [1076] trunk/qdox/src/grammar/parser.y: Using EnumDeclaration and EnumBody according to JLS
Revision
1076
Author
rfscholte
Date
2011-02-23 14:41:59 -0600 (Wed, 23 Feb 2011)

Log Message

Using EnumDeclaration and EnumBody according to JLS

Modified Paths


Diff

Modified: trunk/qdox/src/grammar/parser.y (1075 => 1076)

--- trunk/qdox/src/grammar/parser.y	2011-02-23 20:26:43 UTC (rev 1075)
+++ trunk/qdox/src/grammar/parser.y	2011-02-23 20:41:59 UTC (rev 1076)
@@ -122,9 +122,7 @@
                 
 //// for migration               
 NormalClassDeclaration: class;
-EnumDeclaration: enum;
 
-
 // ----- JAVADOC
 
 javadoclist: 
@@ -440,22 +438,26 @@
 
 // ----- ENUM
 
-enum: enum_definition BRACEOPEN enum_body BRACECLOSE {
-  builder.endClass();
-  fieldType = null;
-  modifiers.clear();
-};
+// 8.9 Enums
+EnumDeclaration: ClassModifiers_opt ENUM IDENTIFIER Interfaces_opt 
+               { cls.lineNumber = line;
+                 cls.modifiers.addAll(modifiers);
+                 cls.name = $3;
+                 cls.type = ClassDef.ENUM;
+                 builder.beginClass(cls);
+                 cls = new ClassDef();
+                 fieldType = new TypeDef($3, 0);
+               } EnumBody;
 
-enum_definition: modifiers ENUM IDENTIFIER opt_implements {
-    cls.lineNumber = line;
-    cls.modifiers.addAll(modifiers);
-    cls.name = $3;
-    cls.type = ClassDef.ENUM;
-    builder.beginClass(cls);
-    cls = new ClassDef();
-    fieldType = new TypeDef($3, 0);
-};
+EnumBody: BRACEOPEN enum_body BRACECLOSE 
+        { builder.endClass();
+          fieldType = null;
+          modifiers.clear();
+        };
 
+ClassModifiers_opt: modifiers;
+Interfaces_opt: opt_implements;
+
 enum_body: enum_values | enum_values SEMI members;
 
 enum_values: | enum_value | enum_value COMMA enum_values;
@@ -513,7 +515,7 @@
     constructor |
     static_block |
     class |
-    enum |
+    EnumDeclaration |
     SEMI;
 
 memberend:


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to