]> source.dussan.org Git - aspectj.git/commitdiff
245286: test and fix: ajdoc does not generate signature correctly for generic constructer
authoraclement <aclement>
Thu, 28 Aug 2008 02:18:29 +0000 (02:18 +0000)
committeraclement <aclement>
Thu, 28 Aug 2008 02:18:29 +0000 (02:18 +0000)
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java

index c5b9f6235e6be0baf2914ce16a708547caceecd5..a61157d07e49dc56da5196388782f203b0437ea1 100644 (file)
@@ -16,7 +16,6 @@
 package org.aspectj.ajdt.internal.core.builder;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -850,6 +849,20 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        private String genSourceSignature(ConstructorDeclaration constructorDeclaration) {
                StringBuffer output = new StringBuffer();
                ASTNode.printModifiers(constructorDeclaration.modifiers, output);
+               
+               //Append Type Parameters if any
+               TypeParameter types[] = constructorDeclaration.typeParameters();
+               if(types != null && types.length != 0) {
+                       output.append("<");
+                       for(int i = 0; i < types.length;i++){
+                               if(i > 0){
+                                       output.append(", ");
+                               }
+                               types[i].printStatement(0, output);
+                       }
+                       output.append("> ");
+               }
+               
                output.append(constructorDeclaration.selector).append('(');  
                if (constructorDeclaration.arguments != null) {
                        for (int i = 0; i < constructorDeclaration.arguments.length; i++) {
@@ -1001,6 +1014,4 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        private int getEndLine( TypeDeclaration td){
                return Util.getLineNumber(td.declarationSourceEnd,lineseps,0,lineseps.length-1);
        }
-
-
 }