diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Archive.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Archive.java index b0edc084feb..8683ce004f8 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Archive.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Archive.java @@ -86,11 +86,10 @@ public class Archive extends Openable implements IArchive { return true; } - @SuppressWarnings("rawtypes") @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (IBinaryArchive.class.equals(adapter)) { - return getBinaryArchive(); + return adapter.cast(getBinaryArchive()); } return super.getAdapter(adapter); } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Binary.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Binary.java index 484ae083d2e..ee9005af52e 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Binary.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Binary.java @@ -212,11 +212,10 @@ public class Binary extends Openable implements IBinary { return binaryObject; } - @SuppressWarnings("rawtypes") @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (IBinaryObject.class.equals(adapter)) { - return getBinaryObject(); + return adapter.cast(getBinaryObject()); } return super.getAdapter(adapter); } @@ -313,7 +312,7 @@ public class Binary extends Openable implements IBinary { String[] sourceFiles = symbolreader.getSourceFiles(); if (sourceFiles != null && sourceFiles.length > 0) { - ISourceFinder srcFinder = (ISourceFinder) getAdapter(ISourceFinder.class); + ISourceFinder srcFinder = getAdapter(ISourceFinder.class); try { for (String filename : sourceFiles) { diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElement.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElement.java index 00e7fce0bf7..16e4232e069 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElement.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElement.java @@ -64,14 +64,13 @@ public abstract class CElement extends PlatformObject implements ICElement { fType = type; } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { // handle all kinds of resources if (IResource.class.isAssignableFrom(adapter)) { IResource r = getResource(); if (r != null && adapter.isAssignableFrom(r.getClass())) { - return r; + return adapter.cast(r); } } return super.getAdapter(adapter); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPFunctionSet.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPFunctionSet.java index 0c790cd01f0..ee6b4bd1546 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPFunctionSet.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPFunctionSet.java @@ -76,10 +76,9 @@ public class CPPFunctionSet implements ICPPTwoPhaseBinding { } @Override - @SuppressWarnings("unchecked") - public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) { + public T getAdapter(Class adapter) { if (adapter.isAssignableFrom(getClass())) - return this; + return adapter.cast(this); return null; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ASTPreprocessorName.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ASTPreprocessorName.java index ea094e0b023..72a3e4d9057 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ASTPreprocessorName.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ASTPreprocessorName.java @@ -199,13 +199,12 @@ class ASTBuiltinName extends ASTPreprocessorDefinition implements IAdaptable { } @Override - @SuppressWarnings({ "rawtypes", "unchecked" }) - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (adapter.isAssignableFrom(ASTBuiltinName.class)) { - return this; + return adapter.cast(this); } if (fOriginalDefinition != null && adapter.isAssignableFrom(fOriginalDefinition.getClass())) { - return fOriginalDefinition; + return adapter.cast(fOriginalDefinition); } return null; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java index b678934cb27..b8731ca64fb 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java @@ -250,10 +250,9 @@ public class PDOMProxy implements IPDOM { fDelegate.resetCacheCounters(); } - @SuppressWarnings({ "rawtypes", "unchecked" }) - public synchronized Object getAdapter(Class adapter) { + public synchronized T getAdapter(Class adapter) { if (adapter.isAssignableFrom(PDOMProxy.class)) { - return this; + return adapter.cast(this); } return null; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java index fcae57b3e1d..e029f880780 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java @@ -373,10 +373,9 @@ public class PDOMMacro implements IIndexMacro, IPDOMBinding { } @Override - @SuppressWarnings({ "unchecked", "rawtypes" }) - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (adapter.isAssignableFrom(PDOMMacro.class)) { - return this; + return adapter.cast(this); } return null; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java index 266079a3009..817de429e5f 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java @@ -171,10 +171,9 @@ public class PDOMMacroContainer extends PDOMNamedNode implements IIndexMacroCont } @Override - @SuppressWarnings({ "unchecked", "rawtypes" }) - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (adapter.isAssignableFrom(PDOMMacroContainer.class)) { - return this; + return adapter.cast(this); } return null; } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/AbstractCodeReaderFactory.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/AbstractCodeReaderFactory.java index 3d3e8ef6676..cdc19f3c0fe 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/AbstractCodeReaderFactory.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/AbstractCodeReaderFactory.java @@ -34,10 +34,9 @@ public abstract class AbstractCodeReaderFactory implements ICodeReaderFactory, I } @Override - @SuppressWarnings({ "unchecked", "rawtypes" }) - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (adapter.isAssignableFrom(IIncludeFileResolutionHeuristics.class)) { - return fHeuristics; + return adapter.cast(fHeuristics); } return null; } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser.java index 2187b83971d..d44b19231c2 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser.java @@ -66,14 +66,13 @@ public class CygwinPEParser extends PEParser { return new DefaultCygwinToolFactory(this); } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (adapter.isAssignableFrom(ICygwinToolsFactroy.class)) { if (toolFactory == null) { toolFactory = createToolFactory(); } - return toolFactory; + return adapter.cast(toolFactory); } return super.getAdapter(adapter); } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser64.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser64.java index 2e774c4b17a..2bfa013b3df 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser64.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/parser/CygwinPEParser64.java @@ -64,14 +64,13 @@ public class CygwinPEParser64 extends PEParser64 { return new DefaultCygwinToolFactory(this); } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (adapter.isAssignableFrom(ICygwinToolsFactroy.class)) { if (toolFactory == null) { toolFactory = createToolFactory(); } - return toolFactory; + return adapter.cast(toolFactory); } return super.getAdapter(adapter); } diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java index 6eb25538ae3..624e344db5a 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java @@ -247,9 +247,9 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { } @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (IMementoHandler.class.equals(adapter)) { - return mementoHandler; + return adapter.cast(mementoHandler); } return super.getAdapter(adapter); } diff --git a/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 99cb5472d72..be2350a43f1 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -114,6 +114,7 @@ public class TerminalConnector implements ITerminalConnector { fHidden = hidden; } + @Override public String getInitializationErrorMessage() { getConnectorImpl(); if (fException != null) @@ -121,14 +122,17 @@ public class TerminalConnector implements ITerminalConnector { return null; } + @Override public String getId() { return fId; } + @Override public String getName() { return fName; } + @Override public boolean isHidden() { return fHidden; } @@ -141,16 +145,19 @@ public class TerminalConnector implements ITerminalConnector { } catch (Exception e) { fException = e; fConnector = new TerminalConnectorImpl() { + @Override public void connect(ITerminalControl control) { // super.connect(control); control.setState(TerminalState.CLOSED); control.setMsg(getInitializationErrorMessage()); } + @Override public OutputStream getTerminalToRemoteStream() { return null; } + @Override public String getSettingsSummary() { return null; } @@ -164,22 +171,27 @@ public class TerminalConnector implements ITerminalConnector { return fConnector; } + @Override public boolean isInitialized() { return fConnector != null || fException != null; } + @Override public void connect(ITerminalControl control) { getConnectorImpl().connect(control); } + @Override public void disconnect() { getConnectorImpl().disconnect(); } + @Override public OutputStream getTerminalToRemoteStream() { return getConnectorImpl().getTerminalToRemoteStream(); } + @Override public String getSettingsSummary() { if (fConnector != null) return getConnectorImpl().getSettingsSummary(); @@ -187,10 +199,12 @@ public class TerminalConnector implements ITerminalConnector { return TerminalMessages.NotInitialized; } + @Override public boolean isLocalEcho() { return getConnectorImpl().isLocalEcho(); } + @Override public void load(ISettingsStore store) { if (fConnector == null) { fStore = store; @@ -204,6 +218,7 @@ public class TerminalConnector implements ITerminalConnector { getConnectorImpl().setDefaultSettings(); } + @Override public void save(ISettingsStore store) { // no need to save the settings: it cannot have changed // because we are not initialized.... @@ -211,6 +226,7 @@ public class TerminalConnector implements ITerminalConnector { getConnectorImpl().save(store); } + @Override public void setTerminalSize(int newWidth, int newHeight) { // we assume that setTerminalSize is called also after // the terminal has been initialized. Else we would have to cache @@ -220,7 +236,8 @@ public class TerminalConnector implements ITerminalConnector { } } - public Object getAdapter(Class adapter) { + @Override + public T getAdapter(Class adapter) { TerminalConnectorImpl connector = null; if (isInitialized()) connector = getConnectorImpl(); @@ -234,11 +251,11 @@ public class TerminalConnector implements ITerminalConnector { //defer to the platform result = Platform.getAdapterManager().getAdapter(connector, adapter); if (result != null) - return result; + return adapter.cast(result); } // maybe the real adapter is what we need.... if (adapter.isInstance(connector)) - return connector; + return adapter.cast(connector); } // maybe we have to be adapted.... return Platform.getAdapterManager().getAdapter(this, adapter); diff --git a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java index 47aa120877a..87dc00ac1fd 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java +++ b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java @@ -51,14 +51,13 @@ public class TabCommandFieldHandler implements IDisposable, IAdaptable { history = null; } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (TabFolderManager.class.equals(adapter)) { - return tabFolderManager; + return adapter.cast(tabFolderManager); } if (CTabItem.class.equals(adapter)) { - return item; + return adapter.cast(item); } return null; } diff --git a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index ed49acdecda..47b280f376f 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java +++ b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -358,22 +358,21 @@ public class TabFolderMenuHandler extends PlatformObject { } } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (MenuManager.class.isAssignableFrom(adapter)) { - return contextMenuManager; + return adapter.cast(contextMenuManager); } else if (Menu.class.isAssignableFrom(adapter)) { if (contextMenu == null || contextMenu.isDisposed()) { contextMenu = contextMenuManager.createContextMenu(getTabFolder()); } // Clear the menu from the tab folder now - see initialize() getTabFolder().setMenu(null); - return contextMenu; + return adapter.cast(contextMenu); } // Try the parent view - Object adapted = getParentView().getAdapter(adapter); + T adapted = getParentView().getAdapter(adapter); if (adapted != null) { return adapted; } diff --git a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index c21ef38bbe1..ac54b5dc24b 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java +++ b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -319,22 +319,21 @@ public class TabFolderToolbarHandler extends PlatformObject { } } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (IToolBarManager.class.isAssignableFrom(adapter)) { - return toolbarManager; + return adapter.cast(toolbarManager); } // Try the toolbar actions for (AbstractTerminalAction action : toolbarActions) { if (adapter.isAssignableFrom(action.getClass())) { - return action; + return adapter.cast(action); } } // Try the parent view - Object adapted = getParentView().getAdapter(adapter); + T adapted = getParentView().getAdapter(adapter); if (adapted != null) { return adapted; } diff --git a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index 6b1ef56456a..42c1e4d37fb 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java +++ b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -581,23 +581,22 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa } } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public Object getAdapter(Class adapter) { + public T getAdapter(Class adapter) { if (CTabFolder.class.isAssignableFrom(adapter)) { - return tabFolderControl; + return adapter.cast(tabFolderControl); } if (TabFolderManager.class.isAssignableFrom(adapter)) { - return tabFolderManager; + return adapter.cast(tabFolderManager); } if (TabFolderMenuHandler.class.isAssignableFrom(adapter)) { - return tabFolderMenuHandler; + return adapter.cast(tabFolderMenuHandler); } if (TabFolderToolbarHandler.class.isAssignableFrom(adapter)) { - return tabFolderToolbarHandler; + return adapter.cast(tabFolderToolbarHandler); } if (TerminalsViewMementoHandler.class.isAssignableFrom(adapter)) { - return mementoHandler; + return adapter.cast(mementoHandler); } return super.getAdapter(adapter);