Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Ridge2017-06-04 22:56:31 +0000
committerNathan Ridge2017-06-19 04:26:59 +0000
commitbd6da0b03dcdbb7989fa195469a2a44eb00f467b (patch)
tree94414ed9ea9c1a552e2ffaccc5bda3122ecb586b
parentbfe45e8c74f297fbfaa89e9fc33527891207108e (diff)
downloadorg.eclipse.cdt-bd6da0b03dcdbb7989fa195469a2a44eb00f467b.tar.gz
org.eclipse.cdt-bd6da0b03dcdbb7989fa195469a2a44eb00f467b.tar.xz
org.eclipse.cdt-bd6da0b03dcdbb7989fa195469a2a44eb00f467b.zip
Bug 486082 - Have ProblemBindingChecker report errors of type IProblemBinding.SEMANTIC_INVALID_TYPE
-rw-r--r--codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ProblemBindingChecker.java4
-rw-r--r--codan/org.eclipse.cdt.codan.core.tests/src/org/eclipse/cdt/codan/core/internal/checkers/ProblemBindingCheckerTest.java7
2 files changed, 11 insertions, 0 deletions
diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ProblemBindingChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ProblemBindingChecker.java
index ce8ade13d87..60e64e791fb 100644
--- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ProblemBindingChecker.java
+++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ProblemBindingChecker.java
@@ -143,6 +143,10 @@ public class ProblemBindingChecker extends AbstractIndexAstChecker {
reportProblem(ERR_ID_InvalidTemplateArgumentsProblem, templateName, contextFlagsString);
return PROCESS_CONTINUE;
}
+ if (id == IProblemBinding.SEMANTIC_INVALID_TYPE) {
+ reportProblem(ERR_ID_TypeResolutionProblem, name, name.getRawSignature(), contextFlagsString);
+ return PROCESS_CONTINUE;
+ }
// From this point, we'll deal only with NAME_NOT_FOUND problems.
// If it's something else continue because we don't want to give bad messages.
if (id != IProblemBinding.SEMANTIC_NAME_NOT_FOUND) {
diff --git a/codan/org.eclipse.cdt.codan.core.tests/src/org/eclipse/cdt/codan/core/internal/checkers/ProblemBindingCheckerTest.java b/codan/org.eclipse.cdt.codan.core.tests/src/org/eclipse/cdt/codan/core/internal/checkers/ProblemBindingCheckerTest.java
index 88ea2dd1e69..292f46c5a59 100644
--- a/codan/org.eclipse.cdt.codan.core.tests/src/org/eclipse/cdt/codan/core/internal/checkers/ProblemBindingCheckerTest.java
+++ b/codan/org.eclipse.cdt.codan.core.tests/src/org/eclipse/cdt/codan/core/internal/checkers/ProblemBindingCheckerTest.java
@@ -117,4 +117,11 @@ public class ProblemBindingCheckerTest extends CheckerTestCase {
loadCodeAndRun(getAboveComment());
checkErrorLine(2, ProblemBindingChecker.ERR_ID_InvalidArguments);
}
+
+ // template <typename> class Waldo {};
+ // Waldo w;
+ public void testInvalidTypeError_486082() throws Exception {
+ loadCodeAndRun(getAboveComment());
+ checkErrorLine(2, ProblemBindingChecker.ERR_ID_TypeResolutionProblem);
+ }
}

Back to the top