7025784: Add SourceVersion.RELEASE_8
7025786: Add -source 8 and -target 8 to javac 7025789: Change javac source and target default to 8 Reviewed-by: jjg
This commit is contained in:
parent
d418cb71c2
commit
42cb36b770
@ -64,8 +64,11 @@ public enum Source {
|
||||
/** 1.6 reports encoding problems as errors instead of warnings. */
|
||||
JDK1_6("1.6"),
|
||||
|
||||
/** 1.7 covers the to be determined language features that will be added in JDK 7. */
|
||||
JDK1_7("1.7");
|
||||
/** 1.7 introduced try-with-resources, multi-catch, string switch, etc. */
|
||||
JDK1_7("1.7"),
|
||||
|
||||
/** 1.8 covers the to be determined language features that will be added in JDK 8. */
|
||||
JDK1_8("1.8");
|
||||
|
||||
private static final Context.Key<Source> sourceKey
|
||||
= new Context.Key<Source>();
|
||||
@ -92,19 +95,21 @@ public enum Source {
|
||||
tab.put("5", JDK1_5); // Make 5 an alias for 1.5
|
||||
tab.put("6", JDK1_6); // Make 6 an alias for 1.6
|
||||
tab.put("7", JDK1_7); // Make 7 an alias for 1.7
|
||||
tab.put("8", JDK1_8); // Make 8 an alias for 1.8
|
||||
}
|
||||
|
||||
private Source(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public static final Source DEFAULT = JDK1_7;
|
||||
public static final Source DEFAULT = JDK1_8;
|
||||
|
||||
public static Source lookup(String name) {
|
||||
return tab.get(name);
|
||||
}
|
||||
|
||||
public Target requiredTarget() {
|
||||
if (this.compareTo(JDK1_8) >= 0) return Target.JDK1_8;
|
||||
if (this.compareTo(JDK1_7) >= 0) return Target.JDK1_7;
|
||||
if (this.compareTo(JDK1_6) >= 0) return Target.JDK1_6;
|
||||
if (this.compareTo(JDK1_5) >= 0) return Target.JDK1_5;
|
||||
@ -203,6 +208,8 @@ public enum Source {
|
||||
return RELEASE_6;
|
||||
case JDK1_7:
|
||||
return RELEASE_7;
|
||||
case JDK1_8:
|
||||
return RELEASE_8;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2011, 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
|
||||
@ -66,7 +66,10 @@ public enum Target {
|
||||
JDK1_6("1.6", 50, 0),
|
||||
|
||||
/** JDK 7. */
|
||||
JDK1_7("1.7", 51, 0);
|
||||
JDK1_7("1.7", 51, 0),
|
||||
|
||||
/** JDK 8. */ // For now, a clone of 7
|
||||
JDK1_8("1.8", 51, 0);
|
||||
|
||||
private static final Context.Key<Target> targetKey =
|
||||
new Context.Key<Target>();
|
||||
@ -99,6 +102,7 @@ public enum Target {
|
||||
tab.put("5", JDK1_5);
|
||||
tab.put("6", JDK1_6);
|
||||
tab.put("7", JDK1_7);
|
||||
tab.put("8", JDK1_8);
|
||||
}
|
||||
|
||||
public final String name;
|
||||
@ -110,7 +114,7 @@ public enum Target {
|
||||
this.minorVersion = minorVersion;
|
||||
}
|
||||
|
||||
public static final Target DEFAULT = JDK1_7;
|
||||
public static final Target DEFAULT = JDK1_8;
|
||||
|
||||
public static Target lookup(String name) {
|
||||
return tab.get(name);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2011, 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
|
||||
@ -48,8 +48,7 @@ import java.util.*;
|
||||
* deletion without notice.</b>
|
||||
*/
|
||||
@SupportedAnnotationTypes("*")
|
||||
// TODO: Change to version 7 based visitors when available
|
||||
@SupportedSourceVersion(SourceVersion.RELEASE_7)
|
||||
@SupportedSourceVersion(SourceVersion.RELEASE_8)
|
||||
public class PrintingProcessor extends AbstractProcessor {
|
||||
PrintWriter writer;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2011, 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
|
||||
@ -124,7 +124,15 @@ public enum SourceVersion {
|
||||
*
|
||||
* @since 1.7
|
||||
*/
|
||||
RELEASE_7;
|
||||
RELEASE_7,
|
||||
|
||||
/**
|
||||
* The version recognized by the Java Platform, Standard Edition
|
||||
* 8.
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
RELEASE_8;
|
||||
|
||||
// Note that when adding constants for newer releases, the
|
||||
// behavior of latest() and latestSupported() must be updated too.
|
||||
@ -135,7 +143,7 @@ public enum SourceVersion {
|
||||
* @return the latest source version that can be modeled
|
||||
*/
|
||||
public static SourceVersion latest() {
|
||||
return RELEASE_7;
|
||||
return RELEASE_8;
|
||||
}
|
||||
|
||||
private static final SourceVersion latestSupported = getLatestSupported();
|
||||
@ -143,9 +151,12 @@ public enum SourceVersion {
|
||||
private static SourceVersion getLatestSupported() {
|
||||
try {
|
||||
String specVersion = System.getProperty("java.specification.version");
|
||||
if ("1.7".equals(specVersion))
|
||||
|
||||
if ("1.8".equals(specVersion))
|
||||
return RELEASE_8;
|
||||
else if("1.7".equals(specVersion))
|
||||
return RELEASE_7;
|
||||
else if ("1.6".equals(specVersion))
|
||||
else if("1.6".equals(specVersion))
|
||||
return RELEASE_6;
|
||||
} catch (SecurityException se) {}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2006, 2011, 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
|
||||
@ -23,12 +23,12 @@
|
||||
|
||||
/**
|
||||
* @test
|
||||
* @bug 6330997
|
||||
* @bug 6330997 7025789
|
||||
* @summary javac should accept class files with major version of the next release
|
||||
* @author Wei Tao
|
||||
* @clean T1 T2
|
||||
* @compile -target 7 T1.java
|
||||
* @compile -target 7 T2.java
|
||||
* @compile -target 8 T1.java
|
||||
* @compile -target 8 T2.java
|
||||
* @run main/othervm T6330997
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2006, 2011 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
|
||||
@ -23,13 +23,13 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6395981 6458819
|
||||
* @bug 6395981 6458819 7025784
|
||||
* @summary JavaCompilerTool and Tool must specify version of JLS and JVMS
|
||||
* @author Peter von der Ah\u00e9
|
||||
* @run main/fail T6395981
|
||||
* @run main/fail T6395981 RELEASE_3 RELEASE_5 RELEASE_6
|
||||
* @run main/fail T6395981 RELEASE_0 RELEASE_1 RELEASE_2 RELEASE_3 RELEASE_4 RELEASE_5 RELEASE_6
|
||||
* @run main T6395981 RELEASE_3 RELEASE_4 RELEASE_5 RELEASE_6 RELEASE_7
|
||||
* @run main T6395981 RELEASE_3 RELEASE_4 RELEASE_5 RELEASE_6 RELEASE_7 RELEASE_8
|
||||
*/
|
||||
|
||||
import java.util.EnumSet;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2006, 2011, 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
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6376083 6376084 6458819
|
||||
* @bug 6376083 6376084 6458819 7025784 7025786 7025789
|
||||
* @summary Test that warnings about source versions are output as expected.
|
||||
* @author Joseph D. Darcy
|
||||
* @compile TestSourceVersionWarnings.java
|
||||
@ -35,7 +35,8 @@
|
||||
* @compile/ref=gold_sv_warn_5_6.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.6 -Xlint:-options HelloWorld.java
|
||||
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6 -Xlint:-options HelloWorld.java
|
||||
* @compile/ref=gold_unsp_warn.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6 -Xlint:-options -Aunsupported HelloWorld.java
|
||||
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_7 -source 1.7 HelloWorld.java
|
||||
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_7 -source 1.7 -Xlint:-options HelloWorld.java
|
||||
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_8 -source 1.8 HelloWorld.java
|
||||
*/
|
||||
|
||||
import java.util.Set;
|
||||
@ -51,7 +52,8 @@ import static javax.tools.Diagnostic.Kind.*;
|
||||
/**
|
||||
* This processor returns the supported source level as indicated by
|
||||
* the "SourceLevel" option; therefore, don't use
|
||||
* JavacTestingAbstractProcessor which returns the latest source level.
|
||||
* JavacTestingAbstractProcessor which returns the latest source
|
||||
* level.
|
||||
*/
|
||||
@SupportedAnnotationTypes("*")
|
||||
@SupportedOptions("SourceVersion")
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* @test /nodynamiccopyright/
|
||||
* @bug 6999438
|
||||
* @summary remove support for exotic identifiers from JDK 7
|
||||
* @compile/fail/ref=T6999438.out -XDrawDiagnostics -source 7 T6999438.java
|
||||
* @compile/fail/ref=T6999438.out -XDrawDiagnostics T6999438.java
|
||||
*/
|
||||
|
||||
class Test {
|
||||
|
@ -22,7 +22,7 @@
|
||||
#
|
||||
|
||||
# @test
|
||||
# @bug 4981566 5028634 5094412 6304984
|
||||
# @bug 4981566 5028634 5094412 6304984 7025786 7025789
|
||||
# @summary Check interpretation of -target and -source options
|
||||
# @build CheckClassFileVersion
|
||||
# @run shell check.sh
|
||||
@ -65,9 +65,14 @@ check 51.0 -source 1.6
|
||||
check 51.0 -source 6
|
||||
check 51.0 -source 1.7
|
||||
check 51.0 -source 7
|
||||
check 51.0 -target 1.7
|
||||
check 51.0 -target 7
|
||||
check 51.0 -source 7 -target 1.7
|
||||
check 51.0 -source 7 -target 7
|
||||
|
||||
# Update when class file version is revved
|
||||
check 51.0 -source 1.8
|
||||
check 51.0 -source 8
|
||||
check 51.0 -target 1.8
|
||||
check 51.0 -target 8
|
||||
|
||||
# Check source versions
|
||||
|
||||
@ -96,6 +101,7 @@ checksrc14() { pass $* $TC/X.java; fail $* $TC/Y.java; }
|
||||
checksrc15() { pass $* $TC/X.java; pass $* $TC/Y.java; }
|
||||
checksrc16() { checksrc15 $* ; }
|
||||
checksrc17() { checksrc15 $* ; }
|
||||
checksrc18() { checksrc15 $* ; }
|
||||
|
||||
checksrc14 -source 1.4
|
||||
checksrc14 -source 1.4 -target 1.5
|
||||
@ -108,16 +114,24 @@ checksrc16 -source 6
|
||||
checksrc16 -source 1.6 -target 1.6
|
||||
checksrc16 -source 6 -target 6
|
||||
|
||||
checksrc17
|
||||
checksrc17 -target 1.7
|
||||
checksrc17 -target 7
|
||||
checksrc17 -source 1.7
|
||||
checksrc17 -source 7
|
||||
checksrc17 -source 1.7 -target 1.7
|
||||
checksrc17 -source 7 -target 7
|
||||
|
||||
checksrc18
|
||||
checksrc18 -target 1.8
|
||||
checksrc18 -target 8
|
||||
checksrc18 -source 1.8
|
||||
checksrc18 -source 8
|
||||
checksrc18 -source 1.8 -target 1.8
|
||||
checksrc18 -source 8 -target 8
|
||||
|
||||
fail -source 1.5 -target 1.4 $TC/X.java
|
||||
fail -source 1.6 -target 1.4 $TC/X.java
|
||||
fail -source 6 -target 1.4 $TC/X.java
|
||||
fail -source 1.6 -target 1.5 $TC/X.java
|
||||
fail -source 6 -target 1.5 $TC/X.java
|
||||
fail -source 7 -target 1.6 $TC/X.java
|
||||
fail -source 8 -target 1.6 $TC/X.java
|
||||
fail -source 8 -target 1.7 $TC/X.java
|
||||
|
Loading…
Reference in New Issue
Block a user