langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
changeset 12716 5a41387068a8
parent 11314 b612aaca08d0
child 13077 16fb753bb5dc
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java	Thu May 10 12:32:58 2012 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java	Fri May 11 20:06:00 2012 +0530
@@ -1606,6 +1606,11 @@
     }
 
     private JCStatement makeResourceCloseInvocation(JCExpression resource) {
+        // convert to AutoCloseable if needed
+        if (types.asSuper(resource.type, syms.autoCloseableType.tsym) == null) {
+            resource = (JCExpression) convert(resource, syms.autoCloseableType);
+        }
+
         // create resource.close() method invocation
         JCExpression resourceClose = makeCall(resource,
                                               names.close,