Turn on many more Eclipse warnings, and fix them

- Warn on empty statements, e.g. "for (;;);". These may be
   typos and are easily replaced by "for (;;) {}" which is more
   explicit.
 - Warn on field hiding. This allows cleanup of many acceptance test
   members, at the cost of a couple of renames and the occasional
   suppression (when the field is in a public nested enum that shadows
   a public constant).
 - Warn on unnecessary casts.
 - Warn on unused declared thrown exceptions. In addition to reducing
   method signature length and number of imports, this also eliminated
   some impossible catch blocks.
 - Warn on missing @Override annotations.
 - Warn on unused parameters. This is likely the most controversial,
   as a few relatively common patterns require unused parameters in a
   way that Eclipse can't ignore. However, it also resulted in cleanup
   of a lot of unnecessary injections and method parameters, so I
   think the cost was worth it.

Change-Id: I7224be8b1c798613a127c88507e8cce400679e5d
This commit is contained in:
Dave Borowitz
2014-10-28 12:09:55 -07:00
parent 2e82f2f8a2
commit 8b42ec5bd5
305 changed files with 932 additions and 699 deletions

View File

@@ -193,13 +193,14 @@ public class ListBranches implements RestReadView<ProjectResource> {
private List<BranchInfo> filterBranches(List<BranchInfo> branches)
throws BadRequestException {
if (matchSubstring != null) {
return ((List<BranchInfo>) Lists.newArrayList(Iterables.filter(branches,
return Lists.newArrayList(Iterables.filter(branches,
new Predicate<BranchInfo>() {
@Override
public boolean apply(BranchInfo in) {
return in.ref.toLowerCase(Locale.US).contains(
matchSubstring.toLowerCase(Locale.US));
}
})));
}));
} else if (matchRegex != null) {
if (matchRegex.startsWith("^")) {
matchRegex = matchRegex.substring(1);
@@ -213,12 +214,13 @@ public class ListBranches implements RestReadView<ProjectResource> {
try {
final RunAutomaton a =
new RunAutomaton(new RegExp(matchRegex).toAutomaton());
return ((List<BranchInfo>) Lists.newArrayList(Iterables.filter(
return Lists.newArrayList(Iterables.filter(
branches, new Predicate<BranchInfo>() {
@Override
public boolean apply(BranchInfo in) {
return a.run(in.ref);
}
})));
}));
} catch (IllegalArgumentException e) {
throw new BadRequestException(e.getMessage());
}