### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/JavadocBugsCompletionModelTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavadocBugsCompletionModelTest.java,v retrieving revision 1.16 diff -u -r1.16 JavadocBugsCompletionModelTest.java --- src/org/eclipse/jdt/core/tests/model/JavadocBugsCompletionModelTest.java 2 Oct 2006 17:36:31 -0000 1.16 +++ src/org/eclipse/jdt/core/tests/model/JavadocBugsCompletionModelTest.java 19 Nov 2006 19:47:07 -0000 @@ -798,6 +798,44 @@ } /** + * @bug 139621: [javadoc][assist] No Javadoc completions if there's no member below + * @test Ensure that completion happens in an orphan javadoc (ie. a javadoc comment not attached to a declaration + * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=139621" + */ +public void testBug139621a() throws JavaModelException { + String source = + "package bugs.b139621;\n" + + "public class BasicTestBugs {\n" + + " /**\n" + + " * This method returns an object\n" + + " * @see Obj\n" + + " */\n" + + "}\n"; + completeInJavadoc("/Completion/src/bugs/b139621/BasicTestBugs.java", source, true, "Obj"); + assertSortedResults( + "Object[TYPE_REF]{Object, java.lang, Ljava.lang.Object;, null, null, "+this.positions+R_DICUNR+"}" + ); +} +public void testBug139621b() throws JavaModelException { + String source = + "package bugs.b139621;\n" + + "/**\n" + + " * This method returns an object\n" + + " * @see Test\n" + + " */\n" + + "public class BasicTestBugs {\n" + + " /**\n" + + " * This method returns an object\n" + + " * @see Obj\n" + + " */\n" + + "}\n"; + completeInJavadoc("/Completion/src/bugs/b139621/BasicTestBugs.java", source, true, "Obj"); + assertSortedResults( + "Object[TYPE_REF]{Object, java.lang, Ljava.lang.Object;, null, null, "+this.positions+R_DICUNR+"}" + ); +} + +/** * Bug 144866: [assist][javadoc] Wrong completion inside @value tag * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=144866" */ #P org.eclipse.jdt.core Index: codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java,v retrieving revision 1.164 diff -u -r1.164 CompletionParser.java --- codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 16 Nov 2006 17:53:30 -0000 1.164 +++ codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 19 Nov 2006 19:47:21 -0000 @@ -1770,6 +1770,21 @@ popElement(K_SELECTOR_INVOCATION_TYPE); super.consumeClassBodyopt(); } +/* (non-Javadoc) + * @see org.eclipse.jdt.internal.compiler.parser.Parser#consumeClassDeclaration() + */ +protected void consumeClassDeclaration() { + if (this.astPtr >= 0 && this.astStack[this.astPtr] instanceof TypeDeclaration) { + TypeDeclaration typeDeclaration = (TypeDeclaration) this.astStack[this.astPtr]; + this.javadoc = null; + checkComment(); + if (this.javadoc != null && this.cursorLocation > this.javadoc.sourceStart && this.cursorLocation < this.javadoc.sourceEnd) { + // completion is in an orphan javadoc comment => replace type declaration one with it to allow completion resolution + typeDeclaration.javadoc = this.javadoc; + } + } + super.consumeClassDeclaration(); +} protected void consumeClassHeaderName1() { super.consumeClassHeaderName1(); Index: buildnotes_jdt-core.html =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/buildnotes_jdt-core.html,v retrieving revision 1.5552 diff -u -r1.5552 buildnotes_jdt-core.html --- buildnotes_jdt-core.html 17 Nov 2006 21:51:55 -0000 1.5552 +++ buildnotes_jdt-core.html 19 Nov 2006 19:47:15 -0000 @@ -53,7 +53,9 @@

What's new in this drop

Problem Reports Fixed

-164946 +139621 +[javadoc][assist] No Javadoc completions if there's no member below +
164946 Spaces in control statements
163807 JDT fails to compile legal Java source files