Bug 123825 Compiler error in ViewSiteDecorator
I only caught this after committing a rather large set of changes. ViewSiteDecorator implements IViewSite, which is a violation of our API. IViewSite now extends (indirectly) IServiceLocator. This means ViewSiteDecorator needs to implement two new methods. public Object getService(Object key) { return fViewSite.getService(key); } public boolean hasService(Object key) { return false; } If the "Decorator" in ViewSiteDecorator refers to the decorator pattern, then you probably actually want: public boolean hasService(Object key) { return fViewSite.hasService(key); } I would rather not back out my change. Could someone please respond ASAP (if you happen to be working from home)? Thanks.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/util/ViewSiteDecorator.java
}
		public void removeSelectionChangedListener(ISelectionChangedListener listener) {
			if (fListener == null)
				return;
			fListener.removeListener(listener);
			if (fListener.isEmpty()) {
				fProvider.removeSelectionChangedListener(fListener);
				fListener= null;
			}
		}
	}
	
	private class SelectionChangedListener implements ISelectionChangedListener {
		
		ListenerList fListeners= new ListenerList();
		
		public void selectionChanged(SelectionChangedEvent event) {
			ISelection selection= fSelectionConverter.convert(event.getSelection());
			SelectionChangedEvent newEvent= new SelectionChangedEvent(fSelectionProvider, selection);
			Object[] listeners= fListeners.getListeners();
			for (int i= 0; i < listeners.length; i++) {
				((ISelectionChangedListener)listeners[i]).selectionChanged(newEvent);
			}
		}
		public void addListener(ISelectionChangedListener listener) {
			fListeners.add(listener);
		}
		public void removeListener(ISelectionChangedListener listener) {
			fListeners.remove(listener);
		}