IProblemReporter doesn't extend IAdaptable
diff --git a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/AbstractProblemReporter.java b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/AbstractProblemReporter.java
index aefdc53..808fae7 100644
--- a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/AbstractProblemReporter.java
+++ b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/AbstractProblemReporter.java
@@ -11,13 +11,16 @@
*******************************************************************************/
package org.eclipse.dltk.compiler.problem;
+import org.eclipse.core.runtime.IAdaptable;
+
/**
* The abstract implementation of {@link IProblemReporter} to simplify code in
* tests, etc.
*/
-public abstract class AbstractProblemReporter implements IProblemReporter {
+public abstract class AbstractProblemReporter implements IProblemReporter,
+ IAdaptable {
- public Object getAdapter(Class adapter) {
+ public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
return null;
}
diff --git a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/IProblemReporter.java b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/IProblemReporter.java
index fa352fb..380e813 100644
--- a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/IProblemReporter.java
+++ b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/IProblemReporter.java
@@ -9,9 +9,7 @@
*******************************************************************************/
package org.eclipse.dltk.compiler.problem;
-import org.eclipse.core.runtime.IAdaptable;
-
-public interface IProblemReporter extends IAdaptable {
+public interface IProblemReporter {
void reportProblem(IProblem problem);
diff --git a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/ProblemReporterProxy.java b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/ProblemReporterProxy.java
index 6e1ce61..ffe95cf 100644
--- a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/ProblemReporterProxy.java
+++ b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/problem/ProblemReporterProxy.java
@@ -11,11 +11,13 @@
*******************************************************************************/
package org.eclipse.dltk.compiler.problem;
+import org.eclipse.core.runtime.IAdaptable;
+
/**
* The {@link IProblemReporter} implementation which forwards all methods call
* to the instance passed in the constructor.
*/
-public class ProblemReporterProxy implements IProblemReporter {
+public class ProblemReporterProxy implements IProblemReporter, IAdaptable {
private final IProblemReporter original;
@@ -32,9 +34,9 @@
}
}
- public Object getAdapter(Class adapter) {
- if (original != null) {
- return original.getAdapter(adapter);
+ public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
+ if (original != null && original instanceof IAdaptable) {
+ return ((IAdaptable) original).getAdapter(adapter);
}
return null;
}
diff --git a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/task/ITaskReporter.java b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/task/ITaskReporter.java
index c9c6d1a..1c80211 100644
--- a/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/task/ITaskReporter.java
+++ b/core/plugins/org.eclipse.dltk.core/compiler/org/eclipse/dltk/compiler/task/ITaskReporter.java
@@ -12,13 +12,12 @@
package org.eclipse.dltk.compiler.task;
import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
/**
* The interface to create <i>tasks</i> for the attached resource. At any given
* moment this object operates on single {@link IResource}.
*/
-public interface ITaskReporter extends IAdaptable {
+public interface ITaskReporter {
/**
* Creates new task for the attached resource.
diff --git a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/builder/ExternalModuleBuildContext.java b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/builder/ExternalModuleBuildContext.java
index aeb8f76..e5ba025 100644
--- a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/builder/ExternalModuleBuildContext.java
+++ b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/builder/ExternalModuleBuildContext.java
@@ -11,6 +11,7 @@
*******************************************************************************/
package org.eclipse.dltk.internal.core.builder;
+import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.dltk.compiler.problem.IProblem;
import org.eclipse.dltk.compiler.problem.IProblemReporter;
import org.eclipse.dltk.compiler.task.ITaskReporter;
@@ -19,7 +20,7 @@
import org.eclipse.dltk.core.environment.IFileHandle;
public class ExternalModuleBuildContext extends AbstractBuildContext implements
- IProblemReporter, ITaskReporter {
+ IProblemReporter, ITaskReporter, IAdaptable {
/**
* @param module