Bug 8038

Summary: Null Pointer Exception Adding Unimplemented
Product: [Eclipse Project] JDT Reporter: Tod Creasey <Tod_Creasey>
Component: CoreAssignee: Philipe Mulet <philippe_mulet>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: 2.0   
Target Milestone: 2.0 M2   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Tod Creasey CLA 2002-01-22 15:38:25 EST
Build 20020115

I got a Null Pointer Exception when I selected Override Methods for the java 
file below

Log: Tue Jan 22 15:36:49 EST 2002
4 org.eclipse.ui 0 java.lang.NullPointerException
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.util.CharOperation.lastIndexOf
(CharOperation.java(Compiled Code))
	at org.eclipse.jdt.internal.compiler.HierarchyResolver.findSuperClass
(HierarchyResolver.java:178)
	at org.eclipse.jdt.internal.compiler.HierarchyResolver.reportHierarchy
(HierarchyResolver.java:311)
	at org.eclipse.jdt.internal.compiler.HierarchyResolver.resolve
(HierarchyResolver.java:458)
	at 
org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.buildSupertypes
(HierarchyBuilder.java:102)
	at 
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build
(IndexBasedHierarchyBuilder.java:140)
	at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute
(TypeHierarchy.java:249)
	at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh
(TypeHierarchy.java:1092)
	at 
org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation
(CreateTypeHierarchyOperation.java:52)
	at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:268)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:476)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1232)
	at org.eclipse.jdt.internal.core.JavaModelManager.runOperation
(JavaModelManager.java:1133)
	at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:526)
	at org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy
(SourceType.java:249)
	at 
org.eclipse.jdt.internal.corext.codemanipulation.AddUnimplementedMethodsOperatio
n.run(AddUnimplementedMethodsOperation.java:54)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1232)
	at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run
(WorkbenchRunnableAdapter.java:32)
	at 
org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.inter
nalRun(BusyIndicatorRunnableContext.java:107)
	at 
org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.run
(BusyIndicatorRunnableContext.java:74)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java
(Compiled Code))
	at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext.run
(BusyIndicatorRunnableContext.java:120)
	at org.eclipse.jdt.internal.ui.actions.AddUnimplementedMethodsAction.run
(AddUnimplementedMethodsAction.java:76)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:452)
	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:805)
	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)


package org.eclipse.ui.actioncontributiontest;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.model.IWorkbenchAdapter;

/*
 * (c) Copyright 2001 MyCorporation.
 * All Rights Reserved.
 */

/**
 * @version 	1.0
 * @author
 */
public class TestAdaptableWorkbenchAdapter implements IWorkbenchAdapter, 
ILabelProvider {

	private static TestAdaptableWorkbenchAdapter singleton =
		new TestAdaptableWorkbenchAdapter();

	public static TestAdaptableWorkbenchAdapter getInstance() {
		return singleton;
	}

	public TestAdaptableWorkbenchAdapter() {
	}

	/*
	 * @see IWorkbenchAdapter#getChildren(Object)
	 */
	public Object[] getChildren(Object o) {
		if (o instanceof AdaptableResourceWrapper)
			return ((AdaptableResourceWrapper) o).getChildren();
		else
			return null;
	}

	/*
	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
	 */
	public ImageDescriptor getImageDescriptor(Object object) {
		return null;
	}

	/*
	 * @see IWorkbenchAdapter#getLabel(Object)
	 */
	public String getLabel(Object o) {
		if (o instanceof AdaptableResourceWrapper)
			return ((AdaptableResourceWrapper) o).getLabel();
		else
			return null;
	}

	/*
	 * @see IWorkbenchAdapter#getParent(Object)
	 */
	public Object getParent(Object o) {
		if (o instanceof AdaptableResourceWrapper)
			return ((AdaptableResourceWrapper) o).getParent();
		else
			return null;
	}

}
Comment 1 Erich Gamma CLA 2002-01-23 08:33:23 EST
The NPE occurs during the class hierarchy computation - moving to JDT Core for 
investigation.
Comment 2 Philipe Mulet CLA 2002-01-23 12:01:02 EST
This was fix for build 20020122.

*** This bug has been marked as a duplicate of 7993 ***