Bug 27322 - ClassCastException during code assist
Summary: ClassCastException during code assist
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows 2000
: P2 major (vote)
Target Milestone: 2.1 M4   Edit
Assignee: David Audel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-11-28 10:12 EST by Jerome Lanneluc CLA
Modified: 2002-12-17 07:13 EST (History)
0 users

See Also:


Attachments
DeltaProcessor.java (75.47 KB, text/plain)
2002-11-28 10:12 EST, Jerome Lanneluc CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jerome Lanneluc CLA 2002-11-28 10:12:05 EST
Build 20021126 + jdtcore patch

Performing a code assist at line 560 column 67 in the attached cu gave me the 
following ClassCastException:
java.lang.ClassCastException: 
org.eclipse.jdt.internal.compiler.ast.EqualExpression
        at org.eclipse.jdt.internal.compiler.ast.Assignment.<init>
(Assignment.java:28)
        at 
org.eclipse.jdt.internal.codeassist.complete.CompletionParser.buildMoreCompletio
nContext(CompletionParser.java:375)
        at 
org.eclipse.jdt.internal.codeassist.complete.CompletionParser.attachOrphanComple
tionNode(CompletionParser.java:171)
        at 
org.eclipse.jdt.internal.codeassist.complete.CompletionParser.updateRecoveryStat
e(CompletionParser.java:1672)
        at org.eclipse.jdt.internal.compiler.parser.Parser.resumeOnSyntaxError
(Parser.java:7469)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:6806)
        at 
org.eclipse.jdt.internal.codeassist.impl.AssistParser.parseBlockStatements
(AssistParser.java:856)
        at 
org.eclipse.jdt.internal.codeassist.impl.AssistParser.parseBlockStatements
(AssistParser.java:770)
        at org.eclipse.jdt.internal.codeassist.impl.Engine.parseMethod
(Engine.java:166)
        at org.eclipse.jdt.internal.codeassist.impl.Engine.parseMethod
(Engine.java:135)
        at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete
(CompletionEngine.java:839)
        at org.eclipse.jdt.internal.core.Openable.codeComplete
(Openable.java:124)
        at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete
(CompilationUnit.java:104)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.internalComputeCom
pletionProposals(JavaCompletionProcessor.java:342)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.computeCompletionP
roposals(JavaCompletionProcessor.java:300)
        at 
org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals
(ContentAssistant.java:1279)
        at 
org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals
(CompletionProposalPopup.java:178)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$7
(CompletionProposalPopup.java:177)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup$3.run
(CompletionProposalPopup.java:139)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:65)
        at 
org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals
(CompletionProposalPopup.java:134)
        at 
org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions
(ContentAssistant.java:1199)
        at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer
.doOperation(CompilationUnitEditor.java:277)
        at org.eclipse.ui.texteditor.ContentAssistAction$1.run
(ContentAssistAction.java:84)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:65)
        at org.eclipse.ui.texteditor.ContentAssistAction.run
(ContentAssistAction.java:82)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:769)
        at org.eclipse.ui.internal.WWinKeyBindingService.invoke
(WWinKeyBindingService.java:139)
        at org.eclipse.ui.internal.WWinKeyBindingService.pressed
(WWinKeyBindingService.java:120)
        at org.eclipse.ui.internal.WWinKeyBindingService$6.widgetSelected
(WWinKeyBindingService.java:376)
        at org.eclipse.ui.internal.AcceleratorMenu$2.handleEvent
(AcceleratorMenu.java:55)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1370)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1353)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:841)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)
org.eclipse.jdt.internal.compiler.ast.EqualExpression
Comment 1 Jerome Lanneluc CLA 2002-11-28 10:12:55 EST
Created attachment 2566 [details]
DeltaProcessor.java
Comment 2 David Audel CLA 2002-11-29 05:21:18 EST
Simple test case

1) Create X.java
public class X {
   void foo() {
      boolean a, b, c;
      c = a == b ? zzz<cursor>
   }
}
2) Do ctrl + space at cursor location
Comment 3 David Audel CLA 2002-11-29 07:33:03 EST
Fixed.
Comment 4 David Audel CLA 2002-12-17 07:13:12 EST
Verified.