Title: [699] trunk/qdox/src/grammar: Fix for QDOX-198: Generic constructors
Revision
699
Author
rfscholte
Date
2010-01-10 06:09:19 -0600 (Sun, 10 Jan 2010)

Log Message

Fix for QDOX-198: Generic constructors

Modified Paths

Diff

Modified: trunk/qdox/src/grammar/parser.y (698 => 699)

--- trunk/qdox/src/grammar/parser.y	2010-01-09 19:54:57 UTC (rev 698)
+++ trunk/qdox/src/grammar/parser.y	2010-01-10 12:09:19 UTC (rev 699)
@@ -505,6 +505,16 @@
         mth.body = $6;
         builder.endMethod(mth);
         mth = new MethodDef(); 
+    } |
+    modifiers typeparams IDENTIFIER {
+      builder.beginMethod();
+    } methoddef opt_exceptions memberend {
+        mth.lineNumber = line;
+        mth.modifiers.addAll(modifiers); modifiers.clear(); 
+        mth.constructor = true; mth.name = $3;
+        mth.body = $7;
+        builder.endMethod(mth);
+        mth = new MethodDef(); 
     };
 
 methoddef: PARENOPEN opt_params PARENCLOSE;

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

--- trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2010-01-09 19:54:57 UTC (rev 698)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2010-01-10 12:09:19 UTC (rev 699)
@@ -1208,6 +1208,16 @@
         builder.addSource(new StringReader(source));
     }
     
+    public void testGenericConstructor() {
+        JavaDocBuilder builder = new JavaDocBuilder();
+        String source = 
+            "public class MXBeanSupport {\n" +
+            "  public <T> MXBeanSupport(T resource, Class<T> mxbeanInterface)\n" +
+            "    throws NotCompliantMBeanException {\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