diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java
index 03d6447a614..4b10032e28a 100644
--- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java
+++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java
@@ -14,7 +14,6 @@ import java.util.Iterator;
import org.eclipse.cdt.codan.core.cxx.model.AbstractAstFunctionChecker;
import org.eclipse.cdt.codan.core.cxx.model.CxxModelsCache;
-import org.eclipse.cdt.codan.core.model.ICheckerWithParameters;
import org.eclipse.cdt.codan.core.model.IProblem;
import org.eclipse.cdt.codan.core.model.IProblemWorkingCopy;
import org.eclipse.cdt.codan.core.model.cfg.ICfgData;
@@ -37,8 +36,7 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier;
*
Function declared as returning non-void has no return (requires control
* flow graph)
*/
-public class ReturnChecker extends AbstractAstFunctionChecker implements
- ICheckerWithParameters {
+public class ReturnChecker extends AbstractAstFunctionChecker {
private static final String PARAM_IMPLICIT = "implicit"; //$NON-NLS-1$
public final String RET_NO_VALUE_ID = "org.eclipse.cdt.codan.checkers.noreturn"; //$NON-NLS-1$
public final String RET_ERR_VALUE_ID = "org.eclipse.cdt.codan.checkers.errreturnvalue"; //$NON-NLS-1$
diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractAstFunctionChecker.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractAstFunctionChecker.java
index b289b4af290..a68cbede238 100644
--- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractAstFunctionChecker.java
+++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractAstFunctionChecker.java
@@ -11,11 +11,6 @@
package org.eclipse.cdt.codan.core.cxx.model;
import org.eclipse.cdt.codan.core.model.ICheckerWithParameters;
-import org.eclipse.cdt.codan.core.model.IProblemWorkingCopy;
-import org.eclipse.cdt.codan.core.param.MapParameterInfo;
-import org.eclipse.cdt.codan.core.param.IProblemParameterInfo;
-import org.eclipse.cdt.codan.core.param.IProblemParameterInfo.ParameterType;
-import org.eclipse.cdt.codan.core.param.SingleParameterInfo;
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
@@ -62,22 +57,5 @@ public abstract class AbstractAstFunctionChecker extends
*/
protected abstract void processFunction(IASTFunctionDefinition func);
- public void initParameters(IProblemWorkingCopy problem) {
- // do nothing
- }
- public IProblemParameterInfo addParam(IProblemWorkingCopy problem,
- String key, String label, Object defaultValue) {
- MapParameterInfo map = (MapParameterInfo) problem.getParameterInfo();
- if (map == null) {
- map = new MapParameterInfo();
- problem.setParameterInfo(map);
- }
- SingleParameterInfo info = new SingleParameterInfo(key,
- label,
- ParameterType.typeOf(defaultValue));
- map.setElement(info);
- problem.setParameter(key, defaultValue);
- return info;
- }
}
diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractIndexAstChecker.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractIndexAstChecker.java
index 7b0c5b1145b..13f9b3bcfb5 100644
--- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractIndexAstChecker.java
+++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/model/AbstractIndexAstChecker.java
@@ -13,8 +13,14 @@ package org.eclipse.cdt.codan.core.cxx.model;
import org.eclipse.cdt.codan.core.CodanCorePlugin;
import org.eclipse.cdt.codan.core.cxx.Activator;
import org.eclipse.cdt.codan.core.model.AbstractChecker;
+import org.eclipse.cdt.codan.core.model.ICheckerWithParameters;
import org.eclipse.cdt.codan.core.model.IProblemLocation;
+import org.eclipse.cdt.codan.core.model.IProblemWorkingCopy;
import org.eclipse.cdt.codan.core.model.IRunnableInEditorChecker;
+import org.eclipse.cdt.codan.core.param.IProblemParameterInfo;
+import org.eclipse.cdt.codan.core.param.MapParameterInfo;
+import org.eclipse.cdt.codan.core.param.SingleParameterInfo;
+import org.eclipse.cdt.codan.core.param.IProblemParameterInfo.ParameterType;
import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
@@ -34,7 +40,7 @@ import org.eclipse.core.runtime.Path;
* Clients may extend this class.
*/
public abstract class AbstractIndexAstChecker extends AbstractChecker implements
- ICAstChecker, IRunnableInEditorChecker {
+ ICAstChecker, IRunnableInEditorChecker, ICheckerWithParameters {
private IFile file;
protected IFile getFile() {
@@ -128,4 +134,23 @@ public abstract class AbstractIndexAstChecker extends AbstractChecker implements
processAst(ast);
}
}
+
+ public void initParameters(IProblemWorkingCopy problem) {
+ // do nothing
+ }
+
+ public IProblemParameterInfo addParam(IProblemWorkingCopy problem,
+ String key, String label, Object defaultValue) {
+ MapParameterInfo map = (MapParameterInfo) problem.getParameterInfo();
+ if (map == null) {
+ map = new MapParameterInfo();
+ problem.setParameterInfo(map);
+ }
+ SingleParameterInfo info = new SingleParameterInfo(key,
+ label,
+ ParameterType.typeOf(defaultValue));
+ map.setElement(info);
+ problem.setParameter(key, defaultValue);
+ return info;
+ }
}