Bug 14386 Wrong Javadoc insertion in Editor
Testet with: Eclipse 2.0 (pre-release) Build 20020416 I played with the "Add Javadoc comment" feature and found the following bug. Using this source as the correct starting point: ----------------- test code: package test; /** * @author MH * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. */ public class HelloWorld { /** * Method main. * @param args */ public static void main(String[] args) { System.out.println("args = " + args); System.out.println("line 2 ..."); } } /** * @author MH * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. */ class SecondClass { public SecondClass { }//constructor private void doIt() { //bla } }//SecondClass ----------------------------- i double click the method "doIt()" in the tree browser on the right hand site. the result is: --------------------------- package test; /** * @author MH * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. */ public class HelloWorld { /** * Method main. * @param args */ public static void main(String[] args) { System.out.println("args = " + args); System.out.println("line 2 ..."); } } /** * @author MH * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. */ class SecondClass { public SecondClass { /** * Method doIt. */ }//constructor private void doIt() { //bla } }//SecondClass ------------------------------- => the javadoc comment is inserted within the body of the constructor of the class "SecondClass" - one line above.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/AddJavaDocStubAction.java
import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.internal.corext.codemanipulation.AddJavaDocStubOperation;
import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
import org.eclipse.jdt.internal.ui.actions.ActionMessages;
import org.eclipse.jdt.internal.ui.actions.SelectionConverter;
import org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter;
import org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor;
import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
/**
 * Creates a Java Doc Stubs for the selected members.
 * <p>
 * Will open the parent compilation unit in a Java editor. The result is 
 * unsaved, so the user can decide if the changes are acceptable.
 * <p>
 * The action is applicable to structured selections containing elements
 * of type <code>IMember</code>.
 * 
 * <p>
 * This class may be instantiated; it is not intended to be subclassed.
 * </p>
 * 
 * @since 2.0
 */
public class AddJavaDocStubAction extends SelectionDispatchAction {