# HG changeset patch # User asaha # Date 1404341246 25200 # Node ID 7a6309461a7294cc78789f547b0a652757d17156 # Parent f9b911093b2effa84d8c4942f9b6dcb3dccdfbdc# Parent 69c91cbdbd186fd56f173f63d84e57b95aae6f29 Merge diff -r f9b911093b2e -r 7a6309461a72 .hgtags --- a/.hgtags Mon Jun 30 14:52:43 2014 -0700 +++ b/.hgtags Wed Jul 02 15:47:26 2014 -0700 @@ -283,6 +283,7 @@ 51cade4632608a6c0b8da33f420bd546aecf6faf jdk8u11-b10 dc0d952b4199dc1cbc534c9afd535c78d21ed519 jdk8u11-b11 0a79fea6f9cf713012211e933655175d52c6bc36 jdk8u11-b12 +16995a2b970df6be039cdaaedb5ade6099ffad8c jdk8u11-b31 26b33a6ea08810853af37e81c9b435465b289c98 jdk8u20-b02 a07271bca831cf1bab35a2ffbcebd8e060b2734b jdk8u20-b03 613c1d9930c9f650e3fc6926215931a85b679c66 jdk8u20-b04 @@ -305,6 +306,7 @@ a550336d045faa63ac4439d4901d9f36e0b634bf jdk8u20-b18 c04d99e00268ed87cfbdf76beb1a0ea08abd9a9c jdk8u20-b19 e92effa22ecee1cb9965c278e45e2b1a6fbe0766 jdk8u20-b20 +7de1481c6cd88b42d815ae65e2d5b1cd918e11d1 jdk8u20-b21 f491f1581f196950c2cb858508dd06601968c417 jdk8u25-b00 5bc865e0a2e3c59c1c8bc41e731509e1737ddea1 jdk8u25-b01 4dec0c684a9ead80ea2bca6b042682367c1abf90 jdk8u25-b02 diff -r f9b911093b2e -r 7a6309461a72 src/share/classes/com/sun/tools/javac/code/Types.java --- a/src/share/classes/com/sun/tools/javac/code/Types.java Mon Jun 30 14:52:43 2014 -0700 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java Wed Jul 02 15:47:26 2014 -0700 @@ -3218,6 +3218,7 @@ return tvar.rank_field; } case ERROR: + case NONE: return 0; default: throw new AssertionError(); diff -r f9b911093b2e -r 7a6309461a72 test/tools/javac/missingSuperRecovery/MissingInterfaceTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.java Wed Jul 02 15:47:26 2014 -0700 @@ -0,0 +1,15 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8036007 + * @summary javac crashes when encountering an unresolvable interface + * @build MissingInterfaceTestDep + * @clean Closeable + * @compile/fail/ref=MissingInterfaceTest.out -XDrawDiagnostics MissingInterfaceTest.java + */ + +public class MissingInterfaceTest { + void test(MissingInterfaceTestDep s) { + s.call(); + s.another(); + } +} diff -r f9b911093b2e -r 7a6309461a72 test/tools/javac/missingSuperRecovery/MissingInterfaceTest.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.out Wed Jul 02 15:47:26 2014 -0700 @@ -0,0 +1,3 @@ +MissingInterfaceTest.java:12:10: compiler.err.cant.access: Closeable, (compiler.misc.class.file.not.found: Closeable) +MissingInterfaceTest.java:13:10: compiler.err.cant.resolve.location.args: kindname.method, another, , , (compiler.misc.location.1: kindname.variable, s, MissingInterfaceTestDep) +2 errors diff -r f9b911093b2e -r 7a6309461a72 test/tools/javac/missingSuperRecovery/MissingInterfaceTestDep.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/missingSuperRecovery/MissingInterfaceTestDep.java Wed Jul 02 15:47:26 2014 -0700 @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +public class MissingInterfaceTestDep implements Intermediate {} +interface Intermediate extends Closeable { } +interface Closeable {}