1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 06:02:11 +02:00

Generify some getAdapter implementations.

Change-Id: I2cd3dad7821e3c6ae3f0371edda5e511beff4014
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
This commit is contained in:
Alexander Kurtakov 2020-02-14 22:20:58 +02:00
parent ae8d8b16b8
commit 61d10d11ef
17 changed files with 63 additions and 61 deletions

View file

@ -86,11 +86,10 @@ public class Archive extends Openable implements IArchive {
return true; return true;
} }
@SuppressWarnings("rawtypes")
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (IBinaryArchive.class.equals(adapter)) { if (IBinaryArchive.class.equals(adapter)) {
return getBinaryArchive(); return adapter.cast(getBinaryArchive());
} }
return super.getAdapter(adapter); return super.getAdapter(adapter);
} }

View file

@ -212,11 +212,10 @@ public class Binary extends Openable implements IBinary {
return binaryObject; return binaryObject;
} }
@SuppressWarnings("rawtypes")
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (IBinaryObject.class.equals(adapter)) { if (IBinaryObject.class.equals(adapter)) {
return getBinaryObject(); return adapter.cast(getBinaryObject());
} }
return super.getAdapter(adapter); return super.getAdapter(adapter);
} }
@ -313,7 +312,7 @@ public class Binary extends Openable implements IBinary {
String[] sourceFiles = symbolreader.getSourceFiles(); String[] sourceFiles = symbolreader.getSourceFiles();
if (sourceFiles != null && sourceFiles.length > 0) { if (sourceFiles != null && sourceFiles.length > 0) {
ISourceFinder srcFinder = (ISourceFinder) getAdapter(ISourceFinder.class); ISourceFinder srcFinder = getAdapter(ISourceFinder.class);
try { try {
for (String filename : sourceFiles) { for (String filename : sourceFiles) {

View file

@ -64,14 +64,13 @@ public abstract class CElement extends PlatformObject implements ICElement {
fType = type; fType = type;
} }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
// handle all kinds of resources // handle all kinds of resources
if (IResource.class.isAssignableFrom(adapter)) { if (IResource.class.isAssignableFrom(adapter)) {
IResource r = getResource(); IResource r = getResource();
if (r != null && adapter.isAssignableFrom(r.getClass())) { if (r != null && adapter.isAssignableFrom(r.getClass())) {
return r; return adapter.cast(r);
} }
} }
return super.getAdapter(adapter); return super.getAdapter(adapter);

View file

@ -76,10 +76,9 @@ public class CPPFunctionSet implements ICPPTwoPhaseBinding {
} }
@Override @Override
@SuppressWarnings("unchecked") public <T> T getAdapter(Class<T> adapter) {
public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
if (adapter.isAssignableFrom(getClass())) if (adapter.isAssignableFrom(getClass()))
return this; return adapter.cast(this);
return null; return null;
} }

View file

@ -199,13 +199,12 @@ class ASTBuiltinName extends ASTPreprocessorDefinition implements IAdaptable {
} }
@Override @Override
@SuppressWarnings({ "rawtypes", "unchecked" }) public <T> T getAdapter(Class<T> adapter) {
public Object getAdapter(Class adapter) {
if (adapter.isAssignableFrom(ASTBuiltinName.class)) { if (adapter.isAssignableFrom(ASTBuiltinName.class)) {
return this; return adapter.cast(this);
} }
if (fOriginalDefinition != null && adapter.isAssignableFrom(fOriginalDefinition.getClass())) { if (fOriginalDefinition != null && adapter.isAssignableFrom(fOriginalDefinition.getClass())) {
return fOriginalDefinition; return adapter.cast(fOriginalDefinition);
} }
return null; return null;
} }

View file

@ -250,10 +250,9 @@ public class PDOMProxy implements IPDOM {
fDelegate.resetCacheCounters(); fDelegate.resetCacheCounters();
} }
@SuppressWarnings({ "rawtypes", "unchecked" }) public synchronized <T> T getAdapter(Class<T> adapter) {
public synchronized Object getAdapter(Class adapter) {
if (adapter.isAssignableFrom(PDOMProxy.class)) { if (adapter.isAssignableFrom(PDOMProxy.class)) {
return this; return adapter.cast(this);
} }
return null; return null;
} }

View file

@ -373,10 +373,9 @@ public class PDOMMacro implements IIndexMacro, IPDOMBinding {
} }
@Override @Override
@SuppressWarnings({ "unchecked", "rawtypes" }) public <T> T getAdapter(Class<T> adapter) {
public Object getAdapter(Class adapter) {
if (adapter.isAssignableFrom(PDOMMacro.class)) { if (adapter.isAssignableFrom(PDOMMacro.class)) {
return this; return adapter.cast(this);
} }
return null; return null;
} }

View file

@ -171,10 +171,9 @@ public class PDOMMacroContainer extends PDOMNamedNode implements IIndexMacroCont
} }
@Override @Override
@SuppressWarnings({ "unchecked", "rawtypes" }) public <T> T getAdapter(Class<T> adapter) {
public Object getAdapter(Class adapter) {
if (adapter.isAssignableFrom(PDOMMacroContainer.class)) { if (adapter.isAssignableFrom(PDOMMacroContainer.class)) {
return this; return adapter.cast(this);
} }
return null; return null;
} }

View file

@ -34,10 +34,9 @@ public abstract class AbstractCodeReaderFactory implements ICodeReaderFactory, I
} }
@Override @Override
@SuppressWarnings({ "unchecked", "rawtypes" }) public <T> T getAdapter(Class<T> adapter) {
public Object getAdapter(Class adapter) {
if (adapter.isAssignableFrom(IIncludeFileResolutionHeuristics.class)) { if (adapter.isAssignableFrom(IIncludeFileResolutionHeuristics.class)) {
return fHeuristics; return adapter.cast(fHeuristics);
} }
return null; return null;
} }

View file

@ -66,14 +66,13 @@ public class CygwinPEParser extends PEParser {
return new DefaultCygwinToolFactory(this); return new DefaultCygwinToolFactory(this);
} }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (adapter.isAssignableFrom(ICygwinToolsFactroy.class)) { if (adapter.isAssignableFrom(ICygwinToolsFactroy.class)) {
if (toolFactory == null) { if (toolFactory == null) {
toolFactory = createToolFactory(); toolFactory = createToolFactory();
} }
return toolFactory; return adapter.cast(toolFactory);
} }
return super.getAdapter(adapter); return super.getAdapter(adapter);
} }

View file

@ -64,14 +64,13 @@ public class CygwinPEParser64 extends PEParser64 {
return new DefaultCygwinToolFactory(this); return new DefaultCygwinToolFactory(this);
} }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (adapter.isAssignableFrom(ICygwinToolsFactroy.class)) { if (adapter.isAssignableFrom(ICygwinToolsFactroy.class)) {
if (toolFactory == null) { if (toolFactory == null) {
toolFactory = createToolFactory(); toolFactory = createToolFactory();
} }
return toolFactory; return adapter.cast(toolFactory);
} }
return super.getAdapter(adapter); return super.getAdapter(adapter);
} }

View file

@ -247,9 +247,9 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate {
} }
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (IMementoHandler.class.equals(adapter)) { if (IMementoHandler.class.equals(adapter)) {
return mementoHandler; return adapter.cast(mementoHandler);
} }
return super.getAdapter(adapter); return super.getAdapter(adapter);
} }

View file

@ -114,6 +114,7 @@ public class TerminalConnector implements ITerminalConnector {
fHidden = hidden; fHidden = hidden;
} }
@Override
public String getInitializationErrorMessage() { public String getInitializationErrorMessage() {
getConnectorImpl(); getConnectorImpl();
if (fException != null) if (fException != null)
@ -121,14 +122,17 @@ public class TerminalConnector implements ITerminalConnector {
return null; return null;
} }
@Override
public String getId() { public String getId() {
return fId; return fId;
} }
@Override
public String getName() { public String getName() {
return fName; return fName;
} }
@Override
public boolean isHidden() { public boolean isHidden() {
return fHidden; return fHidden;
} }
@ -141,16 +145,19 @@ public class TerminalConnector implements ITerminalConnector {
} catch (Exception e) { } catch (Exception e) {
fException = e; fException = e;
fConnector = new TerminalConnectorImpl() { fConnector = new TerminalConnectorImpl() {
@Override
public void connect(ITerminalControl control) { public void connect(ITerminalControl control) {
// super.connect(control); // super.connect(control);
control.setState(TerminalState.CLOSED); control.setState(TerminalState.CLOSED);
control.setMsg(getInitializationErrorMessage()); control.setMsg(getInitializationErrorMessage());
} }
@Override
public OutputStream getTerminalToRemoteStream() { public OutputStream getTerminalToRemoteStream() {
return null; return null;
} }
@Override
public String getSettingsSummary() { public String getSettingsSummary() {
return null; return null;
} }
@ -164,22 +171,27 @@ public class TerminalConnector implements ITerminalConnector {
return fConnector; return fConnector;
} }
@Override
public boolean isInitialized() { public boolean isInitialized() {
return fConnector != null || fException != null; return fConnector != null || fException != null;
} }
@Override
public void connect(ITerminalControl control) { public void connect(ITerminalControl control) {
getConnectorImpl().connect(control); getConnectorImpl().connect(control);
} }
@Override
public void disconnect() { public void disconnect() {
getConnectorImpl().disconnect(); getConnectorImpl().disconnect();
} }
@Override
public OutputStream getTerminalToRemoteStream() { public OutputStream getTerminalToRemoteStream() {
return getConnectorImpl().getTerminalToRemoteStream(); return getConnectorImpl().getTerminalToRemoteStream();
} }
@Override
public String getSettingsSummary() { public String getSettingsSummary() {
if (fConnector != null) if (fConnector != null)
return getConnectorImpl().getSettingsSummary(); return getConnectorImpl().getSettingsSummary();
@ -187,10 +199,12 @@ public class TerminalConnector implements ITerminalConnector {
return TerminalMessages.NotInitialized; return TerminalMessages.NotInitialized;
} }
@Override
public boolean isLocalEcho() { public boolean isLocalEcho() {
return getConnectorImpl().isLocalEcho(); return getConnectorImpl().isLocalEcho();
} }
@Override
public void load(ISettingsStore store) { public void load(ISettingsStore store) {
if (fConnector == null) { if (fConnector == null) {
fStore = store; fStore = store;
@ -204,6 +218,7 @@ public class TerminalConnector implements ITerminalConnector {
getConnectorImpl().setDefaultSettings(); getConnectorImpl().setDefaultSettings();
} }
@Override
public void save(ISettingsStore store) { public void save(ISettingsStore store) {
// no need to save the settings: it cannot have changed // no need to save the settings: it cannot have changed
// because we are not initialized.... // because we are not initialized....
@ -211,6 +226,7 @@ public class TerminalConnector implements ITerminalConnector {
getConnectorImpl().save(store); getConnectorImpl().save(store);
} }
@Override
public void setTerminalSize(int newWidth, int newHeight) { public void setTerminalSize(int newWidth, int newHeight) {
// we assume that setTerminalSize is called also after // we assume that setTerminalSize is called also after
// the terminal has been initialized. Else we would have to cache // 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> T getAdapter(Class<T> adapter) {
TerminalConnectorImpl connector = null; TerminalConnectorImpl connector = null;
if (isInitialized()) if (isInitialized())
connector = getConnectorImpl(); connector = getConnectorImpl();
@ -234,11 +251,11 @@ public class TerminalConnector implements ITerminalConnector {
//defer to the platform //defer to the platform
result = Platform.getAdapterManager().getAdapter(connector, adapter); result = Platform.getAdapterManager().getAdapter(connector, adapter);
if (result != null) if (result != null)
return result; return adapter.cast(result);
} }
// maybe the real adapter is what we need.... // maybe the real adapter is what we need....
if (adapter.isInstance(connector)) if (adapter.isInstance(connector))
return connector; return adapter.cast(connector);
} }
// maybe we have to be adapted.... // maybe we have to be adapted....
return Platform.getAdapterManager().getAdapter(this, adapter); return Platform.getAdapterManager().getAdapter(this, adapter);

View file

@ -51,14 +51,13 @@ public class TabCommandFieldHandler implements IDisposable, IAdaptable {
history = null; history = null;
} }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (TabFolderManager.class.equals(adapter)) { if (TabFolderManager.class.equals(adapter)) {
return tabFolderManager; return adapter.cast(tabFolderManager);
} }
if (CTabItem.class.equals(adapter)) { if (CTabItem.class.equals(adapter)) {
return item; return adapter.cast(item);
} }
return null; return null;
} }

View file

@ -358,22 +358,21 @@ public class TabFolderMenuHandler extends PlatformObject {
} }
} }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (MenuManager.class.isAssignableFrom(adapter)) { if (MenuManager.class.isAssignableFrom(adapter)) {
return contextMenuManager; return adapter.cast(contextMenuManager);
} else if (Menu.class.isAssignableFrom(adapter)) { } else if (Menu.class.isAssignableFrom(adapter)) {
if (contextMenu == null || contextMenu.isDisposed()) { if (contextMenu == null || contextMenu.isDisposed()) {
contextMenu = contextMenuManager.createContextMenu(getTabFolder()); contextMenu = contextMenuManager.createContextMenu(getTabFolder());
} }
// Clear the menu from the tab folder now - see initialize() // Clear the menu from the tab folder now - see initialize()
getTabFolder().setMenu(null); getTabFolder().setMenu(null);
return contextMenu; return adapter.cast(contextMenu);
} }
// Try the parent view // Try the parent view
Object adapted = getParentView().getAdapter(adapter); T adapted = getParentView().getAdapter(adapter);
if (adapted != null) { if (adapted != null) {
return adapted; return adapted;
} }

View file

@ -319,22 +319,21 @@ public class TabFolderToolbarHandler extends PlatformObject {
} }
} }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (IToolBarManager.class.isAssignableFrom(adapter)) { if (IToolBarManager.class.isAssignableFrom(adapter)) {
return toolbarManager; return adapter.cast(toolbarManager);
} }
// Try the toolbar actions // Try the toolbar actions
for (AbstractTerminalAction action : toolbarActions) { for (AbstractTerminalAction action : toolbarActions) {
if (adapter.isAssignableFrom(action.getClass())) { if (adapter.isAssignableFrom(action.getClass())) {
return action; return adapter.cast(action);
} }
} }
// Try the parent view // Try the parent view
Object adapted = getParentView().getAdapter(adapter); T adapted = getParentView().getAdapter(adapter);
if (adapted != null) { if (adapted != null) {
return adapted; return adapted;
} }

View file

@ -581,23 +581,22 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa
} }
} }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override @Override
public Object getAdapter(Class adapter) { public <T> T getAdapter(Class<T> adapter) {
if (CTabFolder.class.isAssignableFrom(adapter)) { if (CTabFolder.class.isAssignableFrom(adapter)) {
return tabFolderControl; return adapter.cast(tabFolderControl);
} }
if (TabFolderManager.class.isAssignableFrom(adapter)) { if (TabFolderManager.class.isAssignableFrom(adapter)) {
return tabFolderManager; return adapter.cast(tabFolderManager);
} }
if (TabFolderMenuHandler.class.isAssignableFrom(adapter)) { if (TabFolderMenuHandler.class.isAssignableFrom(adapter)) {
return tabFolderMenuHandler; return adapter.cast(tabFolderMenuHandler);
} }
if (TabFolderToolbarHandler.class.isAssignableFrom(adapter)) { if (TabFolderToolbarHandler.class.isAssignableFrom(adapter)) {
return tabFolderToolbarHandler; return adapter.cast(tabFolderToolbarHandler);
} }
if (TerminalsViewMementoHandler.class.isAssignableFrom(adapter)) { if (TerminalsViewMementoHandler.class.isAssignableFrom(adapter)) {
return mementoHandler; return adapter.cast(mementoHandler);
} }
return super.getAdapter(adapter); return super.getAdapter(adapter);