Bug 543183 - Add Javadoc generation for generic types of methods

Add type param to javadoc test22, test30, test32, test33, test17_32,
test17_33

Change-Id: I9f5ca2b5b06123fd40bf8f0c2833f54ad27d7ffa
Signed-off-by: Kenneth <kenneth@kean.nu>
diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/CodeGeneration.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/CodeGeneration.java
index 3f9da23..2bf9c29 100644
--- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/CodeGeneration.java
+++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/CodeGeneration.java
@@ -270,7 +270,7 @@
 	public static String getMethodComment(IMethod method, IMethod overridden, String lineDelimiter) throws CoreException {
 		String retType= method.isConstructor() ? null : method.getReturnType();
 		String[] paramNames= method.getParameterNames();
-		String[] typeParameterNames= StubUtility.shouldGenerateMethodTypeParameterTags(method.getJavaProject()) ? StubUtility.getTypeParameterNames(method.getTypeParameters()) : new String[0];
+		String[] typeParameterNames= StubUtility.getTypeParameterNames(method.getTypeParameters());
 
 		return StubUtility.getMethodComment(method.getCompilationUnit(), method.getDeclaringType().getElementName(),
 			method.getElementName(), paramNames, method.getExceptionTypes(), retType, typeParameterNames, overridden, false, lineDelimiter);
diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java
index 73dc04c..8bda294 100644
--- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java
+++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java
@@ -19,7 +19,6 @@
 import java.util.AbstractList;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -661,7 +660,7 @@
 		}
 
 		IDocument textBuffer= new Document(str);
-		List<TypeParameter> typeParams= shouldGenerateMethodTypeParameterTags(cu.getJavaProject()) ? decl.typeParameters() : Collections.emptyList();
+		List<TypeParameter> typeParams= decl.typeParameters();
 		String[] typeParamNames= new String[typeParams.size()];
 		for (int i= 0; i < typeParamNames.length; i++) {
 			TypeParameter elem= typeParams.get(i);
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17/out/Foo.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17/out/Foo.java
index a05dc8a..6ca8e40 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17/out/Foo.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17/out/Foo.java
@@ -9,6 +9,7 @@
 	}
 
 	/**
+	 * @param <A>
 	 * @param xs
 	 * @return
 	 */
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_32/out/Foo.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_32/out/Foo.java
index feb3d3c..f7bfc08 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_32/out/Foo.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_32/out/Foo.java
@@ -3,6 +3,7 @@
 public class Foo<T> {
 	
 	/**
+	 * @param <T>
 	 * @param foo
 	 */
 	public static <T> void foo(Foo<T> foo) {
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_33/out/Foo.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_33/out/Foo.java
index add5788..3b41ccf 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_33/out/Foo.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test17_33/out/Foo.java
@@ -8,6 +8,8 @@
 public class Foo<T extends C & I> {
     
 	/**
+	 * @param <T>
+	 * @param <U>
 	 * @param foo
 	 * @return
 	 */
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test19/out/Foo.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test19/out/Foo.java
index 52d95e2..e4472dc 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test19/out/Foo.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test19/out/Foo.java
@@ -3,6 +3,9 @@
 public class Foo<E, F, G extends Comparable<E>> {
 
 	/**
+	 * @param <E>
+	 * @param <F>
+	 * @param <G>
 	 * @param foo
 	 * @param e
 	 * @param f
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test20/out/Foo.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test20/out/Foo.java
index d73e35c..5e8b5dc 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test20/out/Foo.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test20/out/Foo.java
@@ -3,6 +3,10 @@
 public class Foo<E, F, G extends Comparable<E>> {
 
 	/**
+	 * @param <E>
+	 * @param <F>
+	 * @param <G>
+	 * @param <H>
 	 * @param foo
 	 * @param h
 	 * @return
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test21/out/Foo.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test21/out/Foo.java
index 260f982..cb2fdbd 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test21/out/Foo.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test21/out/Foo.java
@@ -3,6 +3,7 @@
 public class Foo {
 	
 	/**
+	 * @param <E>
 	 * @param foo
 	 * @param e
 	 */
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test22/out/Foo.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test22/out/Foo.java
index c99cf8f..97e7688 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test22/out/Foo.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test22/out/Foo.java
@@ -15,6 +15,10 @@
 	}
 
 	/**
+	 * @param <E>
+	 * @param <F>
+	 * @param <G>
+	 * @param <H>
 	 * @param e
 	 * @param f
 	 * @param g
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test30/out/MultiGenerics.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test30/out/MultiGenerics.java
index e4002af..fb4997d 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test30/out/MultiGenerics.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test30/out/MultiGenerics.java
@@ -3,6 +3,7 @@
 public class MultiGenerics<E> {
 
 	/**
+	 * @param <E>
 	 * @param multiGenerics
 	 * @param e
 	 */
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test32/out/Test.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test32/out/Test.java
index c6ae063..0b6a435 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test32/out/Test.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test32/out/Test.java
@@ -2,6 +2,7 @@
 
 public class Test<T extends Test<T>> {
     /**
+	 * @param <T>
 	 * @param test
 	 * @param t
 	 */
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test33/out/Test.java b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test33/out/Test.java
index c6ae063..0b6a435 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test33/out/Test.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/IntroduceIndirection/test33/out/Test.java
@@ -2,6 +2,7 @@
 
 public class Test<T extends Test<T>> {
     /**
+	 * @param <T>
 	 * @param test
 	 * @param t
 	 */
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavadocTagsSubProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavadocTagsSubProcessor.java
index 71da0b5..156569e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavadocTagsSubProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavadocTagsSubProcessor.java
@@ -15,7 +15,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -39,14 +38,12 @@
 
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.ITypeRoot;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.compiler.IProblem;
 import org.eclipse.jdt.core.dom.AST;
 import org.eclipse.jdt.core.dom.ASTNode;
 import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
 import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
 import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
 import org.eclipse.jdt.core.dom.FieldDeclaration;
 import org.eclipse.jdt.core.dom.IBinding;
@@ -72,7 +69,6 @@
 
 import org.eclipse.jdt.internal.corext.dom.ASTNodes;
 import org.eclipse.jdt.internal.corext.dom.Bindings;
-import org.eclipse.jdt.internal.core.manipulation.StubUtility;
 import org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving;
 import org.eclipse.jdt.internal.core.manipulation.util.Strings;
 
@@ -249,12 +245,6 @@
 		 	ListRewrite tagsRewriter= rewriter.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY);
 
 		 	List<TypeParameter> typeParams= methodDecl.typeParameters();
-		 	ASTNode root= methodDecl.getRoot();
-		 	if (root instanceof CompilationUnit) {
-		 		ITypeRoot typeRoot= ((CompilationUnit) root).getTypeRoot();
-		 		if (typeRoot != null && !StubUtility.shouldGenerateMethodTypeParameterTags(typeRoot.getJavaProject()))
-		 			typeParams= Collections.emptyList();
-		 	}
 		 	List<String> typeParamNames= new ArrayList<>();
 		 	for (int i= typeParams.size() - 1; i >= 0 ; i--) {
 		 		TypeParameter decl= typeParams.get(i);