src/share/classes/com/sun/tools/javac/comp/Attr.java
Print this page
@@ -1144,11 +1144,12 @@
result = null;
}
void checkAutoCloseable(DiagnosticPosition pos, Env<AttrContext> env, Type resource) {
if (!resource.isErroneous() &&
- types.asSuper(resource, syms.autoCloseableType.tsym) != null) {
+ types.asSuper(resource, syms.autoCloseableType.tsym) != null &&
+ !types.isSameType(resource, syms.autoCloseableType)) { // Don't emit warning for AutoCloseable itself
Symbol close = syms.noSymbol;
boolean prevDeferDiags = log.deferDiagnostics;
Queue<JCDiagnostic> prevDeferredDiags = log.deferredDiagnostics;
try {
log.deferDiagnostics = true;