Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlena Laskavaia2010-06-03 03:02:06 +0000
committerAlena Laskavaia2010-06-03 03:02:06 +0000
commitecf0c62ff0ad5c91d0fabb3cebad4e63ef7d4e1d (patch)
tree7f4614bcd02c2fa2b39b1d9866826b39747b8ffb /codan/org.eclipse.cdt.codan.checkers
parent164cdd8a6ee1da1149403149740f18b445230365 (diff)
downloadorg.eclipse.cdt-ecf0c62ff0ad5c91d0fabb3cebad4e63ef7d4e1d.tar.gz
org.eclipse.cdt-ecf0c62ff0ad5c91d0fabb3cebad4e63ef7d4e1d.tar.xz
org.eclipse.cdt-ecf0c62ff0ad5c91d0fabb3cebad4e63ef7d4e1d.zip
Bug 315525: fix to suppress errors in inner functions
Diffstat (limited to 'codan/org.eclipse.cdt.codan.checkers')
-rw-r--r--codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java6
1 files changed, 5 insertions, 1 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 33ff9c5e94d..cce2b2d9156 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
@@ -21,6 +21,7 @@ import org.eclipse.cdt.codan.core.model.cfg.IControlFlowGraph;
import org.eclipse.cdt.codan.core.model.cfg.IExitNode;
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
+import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition;
import org.eclipse.cdt.core.dom.ast.IASTReturnStatement;
@@ -48,10 +49,13 @@ public class ReturnChecker extends AbstractAstFunctionChecker {
ReturnStmpVisitor(IASTFunctionDefinition func) {
shouldVisitStatements = true;
+ shouldVisitDeclarations = true;
this.func = func;
this.hasret = false;
}
-
+ public int visit(IASTDeclaration element) {
+ return PROCESS_SKIP; // skip inner functions
+ }
public int visit(IASTStatement stmt) {
if (stmt instanceof IASTReturnStatement) {
IASTReturnStatement ret = (IASTReturnStatement) stmt;

Back to the top