Community
Participate
Working Groups
I20051123 I typed "\@" in a javadoc comment (by mistake), and then tried code assist. The IDE hung. Looks like a problem here: Thread [main] (Suspended) org.eclipse.jdt.internal.codeassist.complete.CompletionJavadocParser.readToken() line: 775 org.eclipse.jdt.internal.codeassist.complete.CompletionJavadocParser(org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser).readTokenSafely() line: 1327 org.eclipse.jdt.internal.codeassist.complete.CompletionJavadocParser.pushText(int, int) line: 619 org.eclipse.jdt.internal.codeassist.complete.CompletionJavadocParser(org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser).commentParse() line: 236 org.eclipse.jdt.internal.codeassist.complete.CompletionJavadocParser.commentParse() line: 89 org.eclipse.jdt.internal.codeassist.complete.CompletionJavadocParser(org.eclipse.jdt.internal.compiler.parser.JavadocParser).checkDeprecation(int) line: 75 org.eclipse.jdt.internal.codeassist.complete.CompletionJavadocParser.checkDeprecation(int) line: 77 org.eclipse.jdt.internal.codeassist.complete.CompletionParser(org.eclipse.jdt.internal.compiler.parser.Parser).checkComment() line: 890 org.eclipse.jdt.internal.codeassist.complete.CompletionParser(org.eclipse.jdt.internal.compiler.parser.Parser).consumeModifiers() line: 4187 org.eclipse.jdt.internal.codeassist.complete.CompletionParser.consumeModifiers() line: 2347 org.eclipse.jdt.internal.codeassist.complete.CompletionParser(org.eclipse.jdt.internal.compiler.parser.Parser).consumeRule(int) line: 5621 org.eclipse.jdt.internal.codeassist.complete.CompletionParser(org.eclipse.jdt.internal.compiler.parser.Parser).parse() line: 8560 org.eclipse.jdt.internal.codeassist.complete.CompletionParser(org.eclipse.jdt.internal.compiler.parser.Parser).parse(org.eclipse.jdt.internal.compiler.env.ICompilationUnit, org.eclipse.jdt.internal.compiler.CompilationResult, int, int) line: 8730 org.eclipse.jdt.internal.codeassist.complete.CompletionParser(org.eclipse.jdt.internal.compiler.parser.Parser).parse(org.eclipse.jdt.internal.compiler.env.ICompilationUnit, org.eclipse.jdt.internal.compiler.CompilationResult) line: 8695 org.eclipse.jdt.internal.codeassist.complete.CompletionParser(org.eclipse.jdt.internal.compiler.parser.Parser).dietParse(org.eclipse.jdt.internal.compiler.env.ICompilationUnit, org.eclipse.jdt.internal.compiler.CompilationResult) line: 7488 org.eclipse.jdt.internal.codeassist.complete.CompletionParser.dietParse(org.eclipse.jdt.internal.compiler.env.ICompilationUnit, org.eclipse.jdt.internal.compiler.CompilationResult, int) line: 3283 org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(org.eclipse.jdt.internal.compiler.env.ICompilationUnit, int, int) line: 1594 org.eclipse.jdt.internal.core.CompilationUnit(org.eclipse.jdt.internal.core.Openable).codeComplete(org.eclipse.jdt.internal.compiler.env.ICompilationUnit, org.eclipse.jdt.internal.compiler.env.ICompilationUnit, int, org.eclipse.jdt.core.CompletionRequestor, org.eclipse.jdt.core.WorkingCopyOwner) line: 125 org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(int, org.eclipse.jdt.core.CompletionRequestor, org.eclipse.jdt.core.WorkingCopyOwner) line: 322 org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(int, org.eclipse.jdt.core.CompletionRequestor) line: 315 org.eclipse.jdt.internal.ui.text.javadoc.JavadocCompletionProposalComputer(org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer).internalComputeCompletionProposals(int, org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext, org.eclipse.core.runtime.IProgressMonitor) line: 211 org.eclipse.jdt.internal.ui.text.javadoc.JavadocCompletionProposalComputer(org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer).computeCompletionProposals(org.eclipse.jface.text.contentassist.TextContentAssistInvocationContext, org.eclipse.core.runtime.IProgressMonitor) line: 191 org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(org.eclipse.jface.text.contentassist.TextContentAssistInvocationContext, org.eclipse.core.runtime.IProgressMonitor) line: 278 org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(org.eclipse.jface.text.contentassist.TextContentAssistInvocationContext, java.lang.String, org.eclipse.core.runtime.SubProgressMonitor) line: 248 org.eclipse.jdt.internal.ui.text.javadoc.JavadocCompletionProcessor(org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor).collectProposals(org.eclipse.jface.text.ITextViewer, int, org.eclipse.core.runtime.IProgressMonitor, org.eclipse.jface.text.contentassist.TextContentAssistInvocationContext) line: 158 org.eclipse.jdt.internal.ui.text.javadoc.JavadocCompletionProcessor(org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor).computeCompletionProposals(org.eclipse.jface.text.ITextViewer, int) line: 143 org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(org.eclipse.jface.text.ITextViewer, int) line: 1566 org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(int) line: 447 org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$15(org.eclipse.jface.text.contentassist.CompletionProposalPopup, int) line: 444 org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run() line: 379 org.eclipse.swt.custom.BusyIndicator.showWhile(org.eclipse.swt.widgets.Display, java.lang.Runnable) line: 69 org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(boolean) line: 373 org.eclipse.jface.text.contentassist.ContentAssistant$2.run() line: 335 org.eclipse.swt.widgets.RunnableLock.run() line: 35 org.eclipse.ui.internal.UISynchronizer(org.eclipse.swt.widgets.Synchronizer).runAsyncMessages(boolean) line: 123 org.eclipse.swt.widgets.Display.runAsyncMessages(boolean) line: 3218 org.eclipse.swt.widgets.Display.readAndDispatch() line: 2864 org.eclipse.ui.internal.Workbench.runEventLoop(org.eclipse.jface.window.Window$IExceptionHandler, org.eclipse.swt.widgets.Display) line: 1794 org.eclipse.ui.internal.Workbench.runUI() line: 1758 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 381 org.eclipse.ui.PlatformUI.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 143 org.eclipse.ui.internal.ide.IDEApplication.run(java.lang.Object) line: 106 org.eclipse.core.internal.runtime.PlatformActivator$1.run(java.lang.Object) line: 109 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(java.lang.Object) line: 92 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(java.lang.Object) line: 68 org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.Object) line: 369 org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.String[], java.lang.Runnable) line: 167 sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39 sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324 org.eclipse.core.launcher.Main.invokeFramework(java.lang.String[], java.net.URL[]) line: 338 org.eclipse.core.launcher.Main.basicRun(java.lang.String[]) line: 282 org.eclipse.core.launcher.Main.run(java.lang.String[]) line: 977 org.eclipse.core.launcher.Main.main(java.lang.String[]) line: 952
CompletionJavadocParser read but didn't consume invalid token '\' and looped infinitely on it... :-( Fixed and released in HEAD. Test case added in JavadocBugsCompletionModelTest.
Verified for 3.2 M4 using build I20051213-0010