redundant throws inspection:

1. global and local inspections are merged to one
2. local inspection reports "non-final" methods (if cheap enough) IDEA-177230
This commit is contained in:
Dmitry Batkovich
2017-08-09 12:14:26 +03:00
parent 259f33f9df
commit 52cf50c461
31 changed files with 353 additions and 284 deletions
@@ -6,7 +6,7 @@ class Test {
abstract void call(String[] f) throws FileNotFoundException, IOException;
}
void use(Target target) throws IOException {
void use(Target target) throws <warning descr="Exception 'java.io.IOException' is never thrown in the method">IOException</warning> {
try {
target.call("");
} catch (FileNotFoundException e) {
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "true"
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
@@ -1,4 +1,4 @@
// "Add 'java.io.IOException' to 'a.f' throws list" "true"
// "Add 'IOException' to 'a.f' throws list" "true"
import java.io.*;
class a {
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "true"
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
@@ -0,0 +1,13 @@
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
void f() throws IOException {
}
}
class b extends a {
void f() {
}
}
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "true"
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "true"
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
@@ -1,4 +1,4 @@
// "Add 'java.io.IOException' to 'a.f' throws list" "true"
// "Add 'IOException' to 'a.f' throws list" "true"
import java.io.*;
class a {
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "true"
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "false"
// "Remove 'IOException' from 'f' throws list" "false"
import java.io.*;
class a {
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "false"
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
@@ -0,0 +1,13 @@
// "Remove 'IOException' from 'f' throws list" "false"
import java.io.*;
class a {
void f() throws <caret>IOException {
}
}
class b extends a {
void f() throws IOException {
}
}
@@ -1,4 +1,4 @@
// "Remove 'java.io.IOException' from 'f' throws list" "true"
// "Remove 'IOException' from 'f' throws list" "true"
import java.io.*;
class a {
@@ -0,0 +1,8 @@
// "Suppress for method" "true"
import java.io.FileNotFoundException;
import java.io.IOException;
class Main {
@SuppressWarnings("RedundantThrowsDeclaration")
public void test() throws Exception, FileNotFoundException, IOException {}
}
@@ -1,4 +1,4 @@
// "Suppress for method" "false"
// "Suppress for method" "true"
import java.io.FileNotFoundException;
import java.io.IOException;