6390045: Unexpected error "cannot access java.lang.Void" with '-target cldc1.0' with -source >=1.5
Javac needs to synthetize a fake java.lang.Void symbol if one is not given on the classpath Reviewed-by: jjg
This commit is contained in:
parent
ac4b216060
commit
578138abeb
@ -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
|
||||
|
38
langtools/test/tools/javac/6390045/T6390045a.java
Normal file
38
langtools/test/tools/javac/6390045/T6390045a.java
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
38
langtools/test/tools/javac/6390045/T6390045b.java
Normal file
38
langtools/test/tools/javac/6390045/T6390045b.java
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* 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; }
|
||||
}
|
Loading…
Reference in New Issue
Block a user