1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-21 21:52:10 +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;
}
@SuppressWarnings("rawtypes")
@Override
public Object getAdapter(Class adapter) {
public <T> T getAdapter(Class<T> adapter) {
if (IBinaryArchive.class.equals(adapter)) {
return getBinaryArchive();
return adapter.cast(getBinaryArchive());
}
return super.getAdapter(adapter);
}

View file

@ -212,11 +212,10 @@ public class Binary extends Openable implements IBinary {
return binaryObject;
}
@SuppressWarnings("rawtypes")
@Override
public Object getAdapter(Class adapter) {
public <T> T getAdapter(Class<T> 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) {

View file

@ -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> T getAdapter(Class<T> 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);

View file

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

View file

@ -199,13 +199,12 @@ class ASTBuiltinName extends ASTPreprocessorDefinition implements IAdaptable {
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter(Class adapter) {
public <T> T getAdapter(Class<T> 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;
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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> T getAdapter(Class<T> 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);

View file

@ -51,14 +51,13 @@ public class TabCommandFieldHandler implements IDisposable, IAdaptable {
history = null;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Object getAdapter(Class adapter) {
public <T> T getAdapter(Class<T> 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;
}

View file

@ -358,22 +358,21 @@ public class TabFolderMenuHandler extends PlatformObject {
}
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Object getAdapter(Class adapter) {
public <T> T getAdapter(Class<T> 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;
}

View file

@ -319,22 +319,21 @@ public class TabFolderToolbarHandler extends PlatformObject {
}
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Object getAdapter(Class adapter) {
public <T> T getAdapter(Class<T> 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;
}

View file

@ -581,23 +581,22 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa
}
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Object getAdapter(Class adapter) {
public <T> T getAdapter(Class<T> 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);