Bug 8685 - Exception while deleting a method
Summary: Exception while deleting a method
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 major (vote)
Target Milestone: 2.0 M3   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-01-29 11:39 EST by Dirk Baeumer CLA
Modified: 2002-02-06 08:44 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Baeumer CLA 2002-01-29 11:39:18 EST
Smoke for build 20020129

- insert fCount into TestCase.java
- switch to segemented view
- select fCount in Outliner
- Generate Setter/Getter
- select getCount and setCount in Outliner
- activate delete from context menu
observe: getCount is gone, but setCount is still present
- select setCount
you get the following exception in the log


Log: Tue Jan 29 17:41:14 CET 2002
4 org.eclipse.jdt.ui 1 Internal Error
Java Model Exception: Java Model Status [setCount does not exist.]
	at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException
(JavaElement.java:452)
	at org.eclipse.jdt.internal.core.JavaElement.openHierarchy
(JavaElement.java:481)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo
(JavaElement.java:269)
	at org.eclipse.jdt.internal.core.SourceMethod.isConstructor
(SourceMethod.java:133)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels.getMethodLabel
(JavaElementLabels.java:339)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels.getElementLabel
(JavaElementLabels.java:292)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels.getElementLabel
(JavaElementLabels.java:272)
	at 
org.eclipse.jdt.internal.ui.viewsupport.StatusBarUpdater.formatJavaElementMessag
e(StatusBarUpdater.java:76)
	at 
org.eclipse.jdt.internal.ui.viewsupport.StatusBarUpdater.formatMessage
(StatusBarUpdater.java:66)
	at 
org.eclipse.jdt.internal.ui.viewsupport.StatusBarUpdater.selectionChanged
(StatusBarUpdater.java:51)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged
(Viewer.java:147)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection
(StructuredViewer.java:999)
	at org.eclipse.jface.viewers.StructuredViewer.handleSelect
(StructuredViewer.java:466)
	at org.eclipse.jface.viewers.AbstractTreeViewer$1.widgetSelected
(AbstractTreeViewer.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:85)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:74)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:637)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1413)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1205)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:852)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:835)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:878)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
	at org.eclipse.core.launcher.Main.run(Main.java:502)
	at org.eclipse.core.launcher.Main.main(Main.java:362)
	4 org.eclipse.jdt.core 969 setCount does not exist.
Log: Tue Jan 29 17:41:14 CET 2002
4 org.eclipse.jdt.ui 1 Internal Error
Java Model Exception: Java Model Status [setCount does not exist.]
	at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException
(JavaElement.java:452)
	at org.eclipse.jdt.internal.core.JavaElement.openHierarchy
(JavaElement.java:481)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo
(JavaElement.java:269)
	at org.eclipse.jdt.internal.core.Member.getFlags(Member.java:83)
	at 
org.eclipse.jdt.internal.corext.refactoring.rename.RenameMethodRefactoring.creat
eInstance(RenameMethodRefactoring.java:71)
	at 
org.eclipse.jdt.internal.ui.reorg.RefactoringSupportFactory$7.createRefactoring
(RefactoringSupportFactory.java:189)
	at 
org.eclipse.jdt.internal.ui.reorg.RefactoringSupportFactory$RenameSupport.canRen
ame(RefactoringSupportFactory.java:47)
	at org.eclipse.jdt.internal.ui.reorg.RenameAction.canOperateOn
(RenameAction.java:54)
	at 
org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringAction.update
(RefactoringAction.java:57)
	at 
org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringActionDelegate.findAc
tion(RefactoringActionDelegate.java:105)
	at 
org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringActionDelegate.handle
StructuredSelection(RefactoringActionDelegate.java:55)
	at 
org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringActionDelegate.select
ionChanged(RefactoringActionDelegate.java:81)
	at org.eclipse.ui.internal.PluginAction.refreshEnablement
(PluginAction.java:170)
	at org.eclipse.ui.internal.PluginAction.selectionChanged
(PluginAction.java:226)
	at org.eclipse.ui.internal.PluginAction.selectionChanged
(PluginAction.java:246)
	at org.eclipse.ui.internal.SelectionService$2.run
(SelectionService.java:55)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:821)
	at org.eclipse.core.runtime.Platform.run(Platform.java:395)
	at org.eclipse.ui.internal.SelectionService.fireSelection
(SelectionService.java:53)
	at org.eclipse.ui.internal.SelectionService$1.selectionChanged
(SelectionService.java:24)
	at org.eclipse.ui.part.PageBookView$SelectionProvider.selectionChanged
(PageBookView.java:227)
	at org.eclipse.ui.part.PageBookView.pageSelectionChanged
(PageBookView.java:613)
	at org.eclipse.ui.part.PageBookView.access$2(PageBookView.java:609)
	at org.eclipse.ui.part.PageBookView$2.selectionChanged
(PageBookView.java:133)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged
(Viewer.java:147)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection
(StructuredViewer.java:999)
	at org.eclipse.jface.viewers.StructuredViewer.handleSelect
(StructuredViewer.java:466)
	at org.eclipse.jface.viewers.AbstractTreeViewer$1.widgetSelected
(AbstractTreeViewer.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:85)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:74)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:637)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1413)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1205)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:852)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:835)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:878)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
	at org.eclipse.core.launcher.Main.run(Main.java:502)
	at org.eclipse.core.launcher.Main.main(Main.java:362)
	4 org.eclipse.jdt.core 969 setCount does not exist.
Comment 1 Erich Gamma CLA 2002-01-29 12:57:16 EST
suspect an incorrect delta when deleting two members. 
moving to Jdt core for investigation.

Comment 2 Philipe Mulet CLA 2002-01-29 18:23:00 EST
Is this in a classfile ? Suspecting this could be related to delta notification 
in classfiles when proj==src==bin...
Comment 3 Dirk Baeumer CLA 2002-01-30 03:38:52 EST
No, this is the TestCase class from JUnit. I changed the source and then 
deleted two methods
Comment 4 Jerome Lanneluc CLA 2002-02-06 08:44:48 EST
Problem was that the previous ADDED delta (i.e. for the addition of setCount) 
was not being fired and this conflicted with the DELETED delta for this same 
method.
The ADDED delta was not being fired because the CreateElementInCUOperation 
assumed that saving the buffer of a cu would trigger a resource delta. This 
assumption was not true if the cu was a working copy.
Fixed CreateElementInCUOperation and DeleteElementsOperation.