From a355f5145a8b973db1f2f6ff4ae746a779b314f7 Mon Sep 17 00:00:00 2001 From: Alena Laskavaia Date: Sat, 15 May 2010 01:05:34 +0000 Subject: [PATCH] Moved parameter control up --- .../internal/checkers/ReturnChecker.java | 4 +-- .../cxx/model/AbstractAstFunctionChecker.java | 22 --------------- .../cxx/model/AbstractIndexAstChecker.java | 27 ++++++++++++++++++- 3 files changed, 27 insertions(+), 26 deletions(-) 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; + } }