mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
TypeMayBeWeakenedInspection: not weaken when resource expr: IDEA-185994
This commit is contained in:
+7
@@ -132,6 +132,13 @@ public class WeakestTypeFinder {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
else if (referenceParent instanceof PsiResourceExpression) {
|
||||
PsiClass closeable = facade.findClass(CommonClassNames.JAVA_LANG_AUTO_CLOSEABLE, scope);
|
||||
if (closeable == null || variableOrMethodClass.equals(closeable)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
weakestTypeClasses.add(closeable);
|
||||
}
|
||||
else if (referenceParent instanceof PsiAssignmentExpression) {
|
||||
final PsiAssignmentExpression assignmentExpression = (PsiAssignmentExpression)referenceParent;
|
||||
if (!findWeakestType(referenceElement, assignmentExpression, useRighthandTypeAsWeakestTypeInAssignments, weakestTypeClasses)) {
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
import java.io.Closeable;
|
||||
|
||||
class DummyClass {
|
||||
|
||||
public void doSomething() {
|
||||
}
|
||||
}
|
||||
|
||||
class CloseableDummyClass extends DummyClass implements Closeable {
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
}
|
||||
}
|
||||
|
||||
class CallerClass {
|
||||
|
||||
public void call(CloseableDummyClass closeableDummyClass) {
|
||||
try (closeableDummyClass) {
|
||||
closeableDummyClass.doSomething();
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -10,6 +10,7 @@ public class TypeMayBeWeakenedInspectionTest extends LightInspectionTestCase {
|
||||
public void testNumberAdderDemo() { doTest(); }
|
||||
public void testAutoClosableTest() { doTest(); }
|
||||
public void testLambda() { doTest(); }
|
||||
public void testTryWithResources() { doTest(); }
|
||||
|
||||
@Override
|
||||
protected String[] getEnvironmentClasses() {
|
||||
|
||||
Reference in New Issue
Block a user