提交 a12cd41e 编写于 作者: M mcimadamore

6390045: Unexpected error "cannot access java.lang.Void" with '-target cldc1.0' with -source >=1.5

Summary: javac needs to synthetize a fake java.lang.Void symbol if one is not given on the classpath
Reviewed-by: jjg
上级 1cedba2a
......@@ -193,7 +193,7 @@ public class Symtab {
public void initType(Type type, String name, String bname) {
initType(type, name);
boxedName[type.tag] = names.fromString("java.lang." + bname);
boxedName[type.tag] = names.fromString("java.lang." + bname);
}
/** The class symbol that owns all predefined symbols.
......@@ -467,6 +467,7 @@ public class Symtab {
synthesizeMHTypeIfMissing(invokeDynamicType);
synthesizeBoxTypeIfMissing(doubleType);
synthesizeBoxTypeIfMissing(floatType);
synthesizeBoxTypeIfMissing(voidType);
// Enter a synthetic class that is used to mark Sun
// proprietary classes in ct.sym. This class does not have a
......
/*
* Copyright 2009 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
* @bug 6390045
* @summary Unexpected error "cannot access java.lang.Void" with '-target cldc1.0' with -source >=1.5
*
* @author mcimadamore
* @compile -XDfailcomplete=java.lang.Void T6390045a.java
*/
class T6390045a {
boolean b;
short s;
Object o;
Object p = b ? o : s;
}
/*
* Copyright 2009 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
* @bug 6390045
* @summary Unexpected error "cannot access java.lang.Void" with '-target cldc1.0' with -source >=1.5
*
* @author mcimadamore
* @compile -XDfailcomplete=java.lang.Void T6390045b.java
*/
class T6390045b {
short s;
Object o;
Object p = choose(o, s);
<T> T choose(T t1, T t2) { return t1; }
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册