Bug 11440 - npe in rename temp
Summary: npe in rename temp
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P2 normal (vote)
Target Milestone: 2.0 M4   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-03-15 05:28 EST by Adam Kiezun CLA
Modified: 2002-03-15 19:16 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 Adam Kiezun CLA 2002-03-15 05:28:42 EST
Log: Fri Mar 15 11:31:18 GMT+01:00 2002
4 org.eclipse.jdt.ui 1 Internal Error
java.lang.reflect.InvocationTargetException: java.lang.NullPointerException
	at 
org.eclipse.jdt.core.dom.DefaultBindingResolver.retrieveEnclosingScope
(DefaultBindingResolver.java:528)
	at 
org.eclipse.jdt.core.dom.DefaultBindingResolver.returnBindingForQualifiedNamePar
t(DefaultBindingResolver.java:573)
	at 
org.eclipse.jdt.core.dom.DefaultBindingResolver.internalResolveNameForSimpleName
(DefaultBindingResolver.java:617)
	at org.eclipse.jdt.core.dom.DefaultBindingResolver.resolveName
(DefaultBindingResolver.java:137)
	at org.eclipse.jdt.core.dom.Name.resolveBinding(Name.java:75)
	at 
org.eclipse.jdt.internal.corext.refactoring.rename.TempOccurrenceFinder$TempOccu
rrenceAnalyzer.visitNameReference(TempOccurrenceFinder.java:53)
	at 
org.eclipse.jdt.internal.corext.refactoring.rename.TempOccurrenceFinder$TempOccu
rrenceAnalyzer.visit(TempOccurrenceFinder.java:79)
	at org.eclipse.jdt.core.dom.SimpleName.accept0(SimpleName.java:87)
	at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:957)
	at org.eclipse.jdt.core.dom.QualifiedName.accept0(QualifiedName.java:80)
	at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:957)
	at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0
(VariableDeclarationFragment.java:90)
	at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:986)
	at org.eclipse.jdt.core.dom.FieldDeclaration.accept0
(FieldDeclaration.java:113)
	at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:986)
	at org.eclipse.jdt.core.dom.TypeDeclaration.accept0
(TypeDeclaration.java:153)
	at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:986)
	at org.eclipse.jdt.core.dom.CompilationUnit.accept0
(CompilationUnit.java:138)
	at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:906)
	at 
org.eclipse.jdt.internal.corext.refactoring.rename.TempOccurrenceFinder.findTemp
OccurrenceOffsets(TempOccurrenceFinder.java:25)
	at 
org.eclipse.jdt.internal.corext.refactoring.rename.RenameTempRefactoring.getOccu
rrenceOffsets(RenameTempRefactoring.java:219)
	at 
org.eclipse.jdt.internal.corext.refactoring.rename.RenameTempRefactoring.createC
hange(RenameTempRefactoring.java:196)
	at org.eclipse.jdt.internal.ui.refactoring.CreateChangeOperation.run
(CreateChangeOperation.java:97)
	at org.eclipse.jdt.internal.ui.refactoring.PerformChangeOperation.run
(PerformChangeOperation.java:118)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread
(ModalContext.java:296)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:249)
	at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:713)
	at 
org.eclipse.jdt.internal.ui.refactoring.RefactoringWizard.performFinish
(RefactoringWizard.java:330)
	at 
org.eclipse.jdt.internal.ui.refactoring.UserInputWizardPage.performFinish
(UserInputWizardPage.java:122)
	at 
org.eclipse.jdt.internal.ui.refactoring.RefactoringWizard.performFinish
(RefactoringWizard.java:461)
	at org.eclipse.jface.wizard.WizardDialog.finishPressed
(WizardDialog.java:570)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed
(WizardDialog.java:311)
	at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:363)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java
(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.jface.window.Window.runEventLoop(Window.java(Compiled 
Code))
	at org.eclipse.jface.window.Window.open(Window.java:525)
	at 
org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate
(RefactoringStarter.java:78)
	at 
org.eclipse.jdt.internal.ui.refactoring.actions.TextSelectionBasedRefactoringAct
ion.run(TextSelectionBasedRefactoringAction.java:28)
	at 
org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringActionDelegate.run
(RefactoringActionDelegate.java:65)
	at org.eclipse.ui.internal.PluginAction.runWithEvent
(PluginAction.java:204)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:407)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java(Compiled Code))
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java(Compiled Code))
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:675)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:777)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:319)
	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)
Comment 1 Adam Kiezun CLA 2002-03-15 12:53:53 EST
test case (rename temp cp):
package p;

class Test {
	private static final String G= I.GR;
	
	public static void c(){
		Object cp= null;
	}
}
interface I {
	String GR= "l";
}
Comment 2 Adam Kiezun CLA 2002-03-15 12:56:56 EST
this is an npe in jcore dom
npe is thrown on resolveBinding called on SimpleName 'I' (acessing field I.GR)
Comment 3 Olivier Thomann CLA 2002-03-15 15:41:36 EST
It should be fixed for the Monday's build.
Comment 4 Olivier Thomann CLA 2002-03-15 17:03:03 EST
Regression test added.
Fixed and released in HEAD.