Title: [696] trunk/qdox/src/grammar: Fix for QDOX-189: final+annotation method parameter
Revision
696
Author
rfscholte
Date
2010-01-08 10:36:24 -0600 (Fri, 08 Jan 2010)

Log Message

Fix for QDOX-189: final+annotation method parameter

Modified Paths

Diff

Modified: trunk/qdox/src/grammar/parser.y (695 => 696)

--- trunk/qdox/src/grammar/parser.y	2010-01-08 15:27:36 UTC (rev 695)
+++ trunk/qdox/src/grammar/parser.y	2010-01-08 16:36:24 UTC (rev 696)
@@ -518,11 +518,11 @@
     paramlist COMMA param;
 
 param: 
-    opt_annotations opt_parammodifiers type varargs arrayidentifier {
-        param.name = $5.name;
-        param.type = $3;
-        param.dimensions = $5.dimensions;
-        param.isVarArgs = $4;
+    opt_parammodifiers type varargs arrayidentifier {
+        param.name = $4.name;
+        param.type = $2;
+        param.dimensions = $4.dimensions;
+        param.isVarArgs = $3;
         builder.addParameter(param);
         param = new FieldDef();
     };
@@ -534,7 +534,8 @@
 opt_annotations: | opt_annotations annotation { builder.addAnnotation((Annotation) $2); };
 
 opt_parammodifiers: |
-    opt_parammodifiers modifier { param.modifiers.add($2); };
+    opt_parammodifiers modifier { param.modifiers.add($2); } |
+    opt_parammodifiers annotation { builder.addAnnotation((Annotation) $2); };
 
 %%
 

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java (695 => 696)

--- trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2010-01-08 15:27:36 UTC (rev 695)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2010-01-08 16:36:24 UTC (rev 696)
@@ -1175,6 +1175,16 @@
     	assertEquals("deprecated", javaClass.getTags()[1].getName());
     }
     
+    //fix for QDOX-198
+    public void testFinalAnnotationParam() {
+        JavaDocBuilder builder = new JavaDocBuilder();      
+        String source = "public final class WSEndpointReference {\n" +
+            "    public void writeTo(final @NotNull String localName, @NotNull XMLStreamWriter w) throws XMLStreamException {\n" +
+            "    }\n" +
+            "}";
+        builder.addSource(new StringReader(source));
+    }
+    
     public void _testSharedPackageJavaClasses() {
         String source1 = "@javax.xml.bind.annotation.XmlSchema(namespace = \"http://docs.oasis-open.org/wsn/br-2\")\n" +
                 "package com.foo;\n" +


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to