OpenJDK / amber / amber
changeset 5006:8904e3c899b0
6881645: Unchecked method call on a method declared inside anonymous inner causes javac to crash
Reviewed-by: mcimadamore
author | jjg |
---|---|
date | Fri, 26 Feb 2010 08:42:22 -0800 |
parents | b9ecef751d2c |
children | 28dee2489196 |
files | langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java langtools/test/tools/javac/T6881645.java |
diffstat | 2 files changed, 39 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Thu Feb 25 13:32:08 2010 -0800 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Fri Feb 26 08:42:22 2010 -0800 @@ -162,7 +162,7 @@ * the default package; otherwise, the owner symbol is returned */ public Symbol location() { - if (owner.name == null || (owner.name.isEmpty() && owner.kind != PCK)) { + if (owner.name == null || (owner.name.isEmpty() && owner.kind != PCK && owner.kind != TYP)) { return null; } return owner;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/T6881645.java Fri Feb 26 08:42:22 2010 -0800 @@ -0,0 +1,38 @@ +/* + * Copyright 2010 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @summary Unchecked method call on a method declared inside anonymous inner causes javac to crash + * @compile -Xlint:unchecked T6881645.java + */ + +class T6881645 { + Object o = new Object() { + <Z> void m (Class<Z> x) {} + void test() { + m((Class)null); + } + }; +} +