Project: JDT
Bug 52091 NPE when changing the signature of a method that declares an inavlid throw clause
Reported: 2004-02-15 08:08:50 | Status: resolved fixed

M7 - public void foo() throws DummyClass - try to change the signature of foo where DummyClass is not a subclass of exception. Note that you don't get a dialog informing you about the error. It is simply logged. java.lang.NullPointerException at org.eclipse.jdt.internal.corext.dom.Bindings.findType (Bindings.java:546) at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureRefactorin g.createExceptionInfoList(ChangeSignatureRefactoring.java:508) at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureRefactorin g.checkActivation(ChangeSignatureRefactoring.java:488) at org.eclipse.jdt.internal.ui.refactoring.CheckConditionsOperation.run (CheckConditionsOperation.java:61) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run (WorkbenchRunnableAdapter.java:42) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.inte rnalRun(BusyIndicatorRunnableContext.java:113) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.run (BusyIndicatorRunnableContext.java:80) at org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:84) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext.run (BusyIndicatorRunnableContext.java:126) at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.checkActivat ion(RefactoringStarter.java:67) at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate (RefactoringStarter.java:47) at org.eclipse.jdt.ui.actions.ModifyParametersAction.startRefactoring (ModifyParametersAction.java:209) at org.eclipse.jdt.ui.actions.ModifyParametersAction.run (ModifyParametersAction.java:148) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun (SelectionDispatchAction.java:216) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run (SelectionDispatchAction.java:188) at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:536) at org.eclipse.jface.action.ActionContributionItem.access$2 (ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent (ActionContributionItem.java:420) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2029) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1550) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1526) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:265) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:47) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:257) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:104) 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:279) at org.eclipse.core.launcher.Main.run(Main.java:742) at org.eclipse.core.launcher.Main.main(Main.java:581)

Files changed in fix:
org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_in.java org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_out.java org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_in.java org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_out.java org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail1.java org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ChangeSignatureTests.java org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java