Java: Adjust ImpossibleJavadocThrows.ql

This commit is contained in:
Marcono1234
2022-09-26 12:08:43 +02:00
parent fd99ae78b3
commit c40b6285a2
3 changed files with 12 additions and 2 deletions

View File

@@ -11,7 +11,7 @@
import java
Class getTaggedType(ThrowsTag tag) {
ClassOrInterface getTaggedType(ThrowsTag tag) {
result.hasName(tag.getExceptionName()) and
result = tag.getFile().(CompilationUnit).getATypeInScope()
}
@@ -22,7 +22,9 @@ predicate canThrow(Callable callable, Class exception) {
callable.getAnException().getType().getADescendant() = exception
}
from ThrowsTag throwsTag, Class thrownType, Callable docMethod
// Uses ClassOrInterface as type for thrownType to also cover case where erroneously an interface
// type is declared as thrown exception
from ThrowsTag throwsTag, ClassOrInterface thrownType, Callable docMethod
where
getTaggedType(throwsTag) = thrownType and
docMethod.getDoc().getJavadoc().getAChild*() = throwsTag and

View File

@@ -1,2 +1,3 @@
| ImpossibleJavadocThrows.java:9:5:9:12 | @throws | Javadoc for bad1 claims to throw InterruptedException but this is impossible. |
| ImpossibleJavadocThrows.java:16:5:16:15 | @exception | Javadoc for bad2 claims to throw Exception but this is impossible. |
| ImpossibleJavadocThrows.java:23:5:23:12 | @throws | Javadoc for bad3 claims to throw Runnable but this is impossible. |

View File

@@ -18,6 +18,13 @@ class ImpossibleJavadocThrows {
public void bad2() {
}
/**
*
* @throws Runnable
*/
public void bad3() {
}
/**
*
* @throws InterruptedException