Есть ли способ избежать предупреждений о "потенциальной утечке ресурсов" для цепочки методов беглого стиля на AutoCloseable
типах? В приведенном ниже примере есть предупреждение при каждом вызове метода.
Я бы не стал использовать @SuppressWarnings
, так как это необходимо везде, где используется класс. И я не хочу отключать предупреждение, так как в прошлом я обнаружил много реальных ошибок с ним.
С последним затмением 2020-03 годов, похоже, число ложных срабатываний значительно увеличилось, до точка, в которой предупреждение почти невозможно использовать.
public class NoLeak implements AutoCloseable {
public NoLeak a() {
return this;
}
public NoLeak b() {
return this;
}
@Override
public void close() {}
public static void main(String[] args) {
try (NoLeak noLeak = new NoLeak()) {
noLeak
.a() // warning here,
.b() // here,
.a(); // and here
}
}
}
Eclipse 2020-03 (4.15.0), Java 12