--- a/langtools/src/share/classes/com/sun/tools/javac/code/Lint.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Lint.java Mon Dec 06 20:35:49 2010 -0800
@@ -165,6 +165,11 @@
FINALLY("finally"),
/**
+ * Warn about issues relating to use of command line options
+ */
+ OPTIONS("options"),
+
+ /**
* Warn about issues regarding method overrides.
*/
OVERRIDES("overrides"),
@@ -182,39 +187,39 @@
PROCESSING("processing"),
/**
+ * Warn about unchecked operations on raw types.
+ */
+ RAW("rawtypes"),
+
+ /**
* Warn about Serializable classes that do not provide a serial version ID.
*/
SERIAL("serial"),
/**
+ * Warn about issues relating to use of statics
+ */
+ STATIC("static"),
+
+ /**
+ * Warn about proprietary API that may be removed in a future release.
+ */
+ SUNAPI("sunapi", true),
+
+ /**
+ * Warn about issues relating to use of try blocks (i.e. try-with-resources)
+ */
+ TRY("try"),
+
+ /**
* Warn about unchecked operations on raw types.
*/
UNCHECKED("unchecked"),
/**
- * Warn about unchecked operations on raw types.
- */
- RAW("rawtypes"),
-
- /**
- * Warn about proprietary API that may be removed in a future release.
- */
- SUNAPI("sunapi", true),
-
- /**
- * Warn about issues relating to use of statics
- */
- STATIC("static"),
-
- /**
* Warn about potentially unsafe vararg methods
*/
- VARARGS("varargs"),
-
- /**
- * Warn about issues relating to use of try blocks (i.e. try-with-resources)
- */
- TRY("try");
+ VARARGS("varargs");
LintCategory(String option) {
this(option, false);
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Scope.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Scope.java Mon Dec 06 20:35:49 2010 -0800
@@ -528,7 +528,7 @@
}
public Entry next() {
Entry e = super.shadowed;
- while (isBogus())
+ while (e.isBogus())
e = e.shadowed;
return e;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java Mon Dec 06 20:35:49 2010 -0800
@@ -174,9 +174,6 @@
public boolean allowUnderscoresInLiterals() {
return compareTo(JDK1_7) >= 0;
}
- public boolean allowExoticIdentifiers() {
- return compareTo(JDK1_7) >= 0;
- }
public boolean allowStringsInSwitch() {
return compareTo(JDK1_7) >= 0;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Mon Dec 06 20:35:49 2010 -0800
@@ -2772,6 +2772,8 @@
public Type glb(Type t, Type s) {
if (s == null)
return t;
+ else if (t.isPrimitive() || s.isPrimitive())
+ return syms.errType;
else if (isSubtypeNoCapture(t, s))
return t;
else if (isSubtypeNoCapture(s, t))
@@ -2928,6 +2930,15 @@
}
/**
+ * Return the boxed type if 't' is primitive, otherwise return 't' itself.
+ */
+ public Type boxedTypeOrType(Type t) {
+ return t.isPrimitive() ?
+ boxedClass(t).type :
+ t;
+ }
+
+ /**
* Return the primitive type corresponding to a boxed type.
*/
public Type unboxedType(Type t) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java Mon Dec 06 20:35:49 2010 -0800
@@ -305,7 +305,8 @@
uv.hibounds = hibounds.toList();
}
Type qtype1 = types.subst(that.qtype, that.tvars, undetvars);
- if (!types.isSubtype(qtype1, to)) {
+ if (!types.isSubtype(qtype1,
+ qtype1.tag == UNDETVAR ? types.boxedTypeOrType(to) : to)) {
throw unambiguousNoInstanceException
.setMessage("infer.no.conforming.instance.exists",
that.tvars, that.qtype, to);
--- a/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Mon Dec 06 20:35:49 2010 -0800
@@ -25,6 +25,7 @@
package com.sun.tools.javac.file;
+import java.util.Comparator;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
@@ -110,6 +111,20 @@
protected boolean mmappedIO;
protected boolean ignoreSymbolFile;
+ protected enum SortFiles implements Comparator<File> {
+ FORWARD {
+ public int compare(File f1, File f2) {
+ return f1.getName().compareTo(f2.getName());
+ }
+ },
+ REVERSE {
+ public int compare(File f1, File f2) {
+ return -f1.getName().compareTo(f2.getName());
+ }
+ };
+ };
+ protected SortFiles sortFiles;
+
/**
* Register a Context.Factory to create a JavacFileManager.
*/
@@ -152,6 +167,16 @@
mmappedIO = options.isSet("mmappedIO");
ignoreSymbolFile = options.isSet("ignore.symbol.file");
+
+ String sf = options.get("sortFiles");
+ if (sf != null) {
+ sortFiles = (sf.equals("reverse") ? SortFiles.REVERSE : SortFiles.FORWARD);
+ }
+ }
+
+ @Override
+ public boolean isDefaultBootClassPath() {
+ return paths.isDefaultBootClassPath();
}
public JavaFileObject getFileForInput(String name) {
@@ -293,6 +318,9 @@
if (files == null)
return;
+ if (sortFiles != null)
+ Arrays.sort(files, sortFiles);
+
for (File f: files) {
String fname = f.getName();
if (f.isDirectory()) {
--- a/langtools/src/share/classes/com/sun/tools/javac/file/Paths.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/Paths.java Mon Dec 06 20:35:49 2010 -0800
@@ -114,6 +114,11 @@
*/
private File bootClassPathRtJar = null;
+ /**
+ * Is bootclasspath the default?
+ */
+ private boolean isDefaultBootClassPath;
+
Path getPathForLocation(Location location) {
Path path = pathsForLocation.get(location);
if (path == null)
@@ -129,7 +134,7 @@
if (location == CLASS_PATH)
p = computeUserClassPath();
else if (location == PLATFORM_CLASS_PATH)
- p = computeBootClassPath();
+ p = computeBootClassPath(); // sets isDefaultBootClassPath
else if (location == ANNOTATION_PROCESSOR_PATH)
p = computeAnnotationProcessorPath();
else if (location == SOURCE_PATH)
@@ -138,6 +143,8 @@
// no defaults for other paths
p = null;
} else {
+ if (location == PLATFORM_CLASS_PATH)
+ isDefaultBootClassPath = false;
p = new Path();
for (File f: path)
p.addFile(f, warn); // TODO: is use of warn appropriate?
@@ -145,6 +152,11 @@
pathsForLocation.put(location, p);
}
+ public boolean isDefaultBootClassPath() {
+ lazy();
+ return isDefaultBootClassPath;
+ }
+
protected void lazy() {
if (!inited) {
warn = lint.isEnabled(Lint.LintCategory.PATH);
@@ -262,9 +274,10 @@
}
public Path addFiles(String files, boolean warn) {
- if (files != null)
+ if (files != null) {
for (File file : getPathEntries(files, emptyPathDefault))
addFile(file, warn);
+ }
return this;
}
@@ -334,18 +347,23 @@
private Path computeBootClassPath() {
bootClassPathRtJar = null;
- String optionValue;
Path path = new Path();
- path.addFiles(options.get(XBOOTCLASSPATH_PREPEND));
+ String bootclasspathOpt = options.get(BOOTCLASSPATH);
+ String endorseddirsOpt = options.get(ENDORSEDDIRS);
+ String extdirsOpt = options.get(EXTDIRS);
+ String xbootclasspathPrependOpt = options.get(XBOOTCLASSPATH_PREPEND);
+ String xbootclasspathAppendOpt = options.get(XBOOTCLASSPATH_APPEND);
- if ((optionValue = options.get(ENDORSEDDIRS)) != null)
- path.addDirectories(optionValue);
+ path.addFiles(xbootclasspathPrependOpt);
+
+ if (endorseddirsOpt != null)
+ path.addDirectories(endorseddirsOpt);
else
path.addDirectories(System.getProperty("java.endorsed.dirs"), false);
- if ((optionValue = options.get(BOOTCLASSPATH)) != null) {
- path.addFiles(optionValue);
+ if (bootclasspathOpt != null) {
+ path.addFiles(bootclasspathOpt);
} else {
// Standard system classes for this compiler's release.
String files = System.getProperty("sun.boot.class.path");
@@ -357,16 +375,21 @@
}
}
- path.addFiles(options.get(XBOOTCLASSPATH_APPEND));
+ path.addFiles(xbootclasspathAppendOpt);
// Strictly speaking, standard extensions are not bootstrap
// classes, but we treat them identically, so we'll pretend
// that they are.
- if ((optionValue = options.get(EXTDIRS)) != null)
- path.addDirectories(optionValue);
+ if (extdirsOpt != null)
+ path.addDirectories(extdirsOpt);
else
path.addDirectories(System.getProperty("java.ext.dirs"), false);
+ isDefaultBootClassPath =
+ (xbootclasspathPrependOpt == null) &&
+ (bootclasspathOpt == null) &&
+ (xbootclasspathAppendOpt == null);
+
return path;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Mon Dec 06 20:35:49 2010 -0800
@@ -2615,7 +2615,6 @@
String binaryName = fileManager.inferBinaryName(currentLoc, fo);
String simpleName = binaryName.substring(binaryName.lastIndexOf(".") + 1);
if (SourceVersion.isIdentifier(simpleName) ||
- fo.getKind() == JavaFileObject.Kind.CLASS ||
simpleName.equals("package-info"))
includeClassFile(p, fo);
break;
--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Mon Dec 06 20:35:49 2010 -0800
@@ -51,6 +51,7 @@
import com.sun.tools.javac.file.JavacFileManager;
import com.sun.tools.javac.util.*;
import com.sun.tools.javac.code.*;
+import com.sun.tools.javac.code.Lint.LintCategory;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.tree.JCTree.*;
@@ -370,6 +371,15 @@
processPcks = options.isSet("process.packages");
werror = options.isSet(WERROR);
+ if (source.compareTo(Source.DEFAULT) < 0) {
+ if (options.isUnset(XLINT_CUSTOM, "-" + LintCategory.OPTIONS.option)) {
+ if (fileManager instanceof BaseFileManager) {
+ if (((BaseFileManager) fileManager).isDefaultBootClassPath())
+ log.warning(LintCategory.OPTIONS, "source.no.bootclasspath", source.name);
+ }
+ }
+ }
+
verboseCompilePolicy = options.isSet("verboseCompilePolicy");
if (attrParseOnly)
@@ -783,6 +793,7 @@
hasBeenUsed = true;
start_msec = now();
+
try {
initProcessAnnotations(processors);
@@ -797,7 +808,7 @@
elapsed_msec = delegateCompiler.elapsed_msec;
} catch (Abort ex) {
if (devVerbose)
- ex.printStackTrace();
+ ex.printStackTrace(System.err);
} finally {
if (procEnvImpl != null)
procEnvImpl.close();
@@ -841,7 +852,7 @@
}
} catch (Abort ex) {
if (devVerbose)
- ex.printStackTrace();
+ ex.printStackTrace(System.err);
}
if (verbose) {
--- a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/Main.java Mon Dec 06 20:35:49 2010 -0800
@@ -420,7 +420,7 @@
processors);
if (log.expectDiagKeys != null) {
- if (log.expectDiagKeys.size() == 0) {
+ if (log.expectDiagKeys.isEmpty()) {
Log.printLines(log.noticeWriter, "all expected diagnostics found");
return EXIT_OK;
} else {
@@ -506,7 +506,7 @@
void apMessage(AnnotationProcessingError ex) {
Log.printLines(out,
getLocalizedString("msg.proc.annotation.uncaught.exception"));
- ex.getCause().printStackTrace();
+ ex.getCause().printStackTrace(out);
}
/** Display the location and checksum of a class. */
@@ -563,6 +563,7 @@
public static void useRawMessages(boolean enable) {
if (enable) {
messages = new JavacMessages(javacBundleName) {
+ @Override
public String getLocalizedString(String key, Object... args) {
return key;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java Mon Dec 06 20:35:49 2010 -0800
@@ -172,6 +172,11 @@
return getClassLoader(lb.toArray(new URL[lb.size()]));
}
+ @Override
+ public boolean isDefaultBootClassPath() {
+ return searchPaths.isDefaultBootClassPath();
+ }
+
// <editor-fold defaultstate="collapsed" desc="Location handling">
public boolean hasLocation(Location location) {
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java Mon Dec 06 20:35:49 2010 -0800
@@ -66,10 +66,6 @@
*/
private boolean allowUnderscoresInLiterals;
- /** Allow exotic identifiers.
- */
- private boolean allowExoticIdentifiers;
-
/** The source language setting.
*/
private Source source;
@@ -143,7 +139,6 @@
allowBinaryLiterals = source.allowBinaryLiterals();
allowHexFloats = source.allowHexFloats();
allowUnderscoresInLiterals = source.allowBinaryLiterals();
- allowExoticIdentifiers = source.allowExoticIdentifiers(); // for invokedynamic
}
private static final boolean hexFloatsWork = hexFloatsWork();
@@ -295,7 +290,7 @@
/** Read next character in character or string literal and copy into sbuf.
*/
- private void scanLitChar(boolean forBytecodeName) {
+ private void scanLitChar() {
if (ch == '\\') {
if (buf[bp+1] == '\\' && unicodeConversionBp != bp) {
bp++;
@@ -335,18 +330,6 @@
putChar('\"'); scanChar(); break;
case '\\':
putChar('\\'); scanChar(); break;
- case '|': case ',': case '?': case '%':
- case '^': case '_': case '{': case '}':
- case '!': case '-': case '=':
- if (forBytecodeName) {
- // Accept escape sequences for dangerous bytecode chars.
- // This is illegal in normal Java string or character literals.
- // Note that the escape sequence itself is passed through.
- putChar('\\'); putChar(ch); scanChar();
- } else {
- lexError(bp, "illegal.esc.char");
- }
- break;
default:
lexError(bp, "illegal.esc.char");
}
@@ -355,24 +338,6 @@
putChar(ch); scanChar();
}
}
- private void scanLitChar() {
- scanLitChar(false);
- }
-
- /** Read next character in an exotic name #"foo"
- */
- private void scanBytecodeNameChar() {
- switch (ch) {
- // reject any "dangerous" char which is illegal somewhere in the JVM spec
- // cf. http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm
- case '/': case '.': case ';': // illegal everywhere
- case '<': case '>': // illegal in methods, dangerous in classes
- case '[': // illegal in classes
- lexError(bp, "illegal.bytecode.ident.char", String.valueOf((int)ch));
- break;
- }
- scanLitChar(true);
- }
private void scanDigits(int digitRadix) {
char saveCh;
@@ -970,30 +935,6 @@
lexError(pos, "unclosed.str.lit");
}
return;
- case '#':
- scanChar();
- if (ch == '\"') {
- if (!allowExoticIdentifiers) {
- lexError("unsupported.exotic.id", source.name);
- allowExoticIdentifiers = true;
- }
- scanChar();
- if (ch == '\"')
- lexError(pos, "empty.bytecode.ident");
- while (ch != '\"' && ch != CR && ch != LF && bp < buflen) {
- scanBytecodeNameChar();
- }
- if (ch == '\"') {
- name = names.fromChars(sbuf, 0, sp);
- token = IDENTIFIER; // even if #"int" or #"do"
- scanChar();
- } else {
- lexError(pos, "unclosed.bytecode.ident");
- }
- } else {
- lexError("illegal.char", String.valueOf((int)'#'));
- }
- return;
default:
if (isSpecial(ch)) {
scanOperator();
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Mon Dec 06 20:35:49 2010 -0800
@@ -153,8 +153,6 @@
compiler.err.else.without.if=\
''else'' without ''if''
-compiler.err.empty.bytecode.ident=\
- empty bytecode identifier
compiler.err.empty.char.lit=\
empty character literal
compiler.err.encl.class.required=\
@@ -201,8 +199,6 @@
compiler.err.icls.cant.have.static.decl=\
inner classes cannot have static declarations
-compiler.err.illegal.bytecode.ident.char=\
- illegal bytecode identifier character: \\{0}
compiler.err.illegal.char=\
illegal character: \\{0}
compiler.err.illegal.char.for.encoding=\
@@ -472,8 +468,6 @@
compiler.err.types.incompatible.diff.ret=\
types {0} and {1} are incompatible; both define {2}, but with unrelated return types
-compiler.err.unclosed.bytecode.ident=\
- unclosed bytecode identifier
compiler.err.unclosed.char.lit=\
unclosed character literal
compiler.err.unclosed.comment=\
@@ -770,6 +764,9 @@
compiler.warn.static.not.qualified.by.type=\
static {0} should be qualified by type name, {1}, instead of by an expression
+compiler.warn.source.no.bootclasspath=\
+ bootstrap class path not set in conjunction with -source {0}
+
# Warnings related to annotation processing
compiler.warn.proc.package.does.not.exist=\
package {0} does not exist
@@ -1269,10 +1266,6 @@
underscores in literals are not supported in -source {0}\n\
(use -source 7 or higher to enable underscores in literals)
-compiler.err.unsupported.exotic.id=\
- exotic identifiers #"___" are not supported in -source {0}\n\
-(use -source 7 or higher to enable exotic identifiers)
-
compiler.err.try.with.resources.not.supported.in.source=\
try-with-resources is not supported in -source {0}\n\
(use -source 7 or higher to enable try-with-resources)
--- a/langtools/src/share/classes/com/sun/tools/javac/util/BaseFileManager.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/util/BaseFileManager.java Mon Dec 06 20:35:49 2010 -0800
@@ -59,7 +59,7 @@
* There are no references here to file-system specific objects such as
* java.io.File or java.nio.file.Path.
*/
-public class BaseFileManager {
+public abstract class BaseFileManager {
protected BaseFileManager(Charset charset) {
this.charset = charset;
byteBufferCache = new ByteBufferCache();
@@ -163,6 +163,9 @@
}
return -1;
}
+
+ public abstract boolean isDefaultBootClassPath();
+
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Encoding">
--- a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java Mon Dec 06 20:35:49 2010 -0800
@@ -62,6 +62,7 @@
private JavadocClassReader(Context context) {
super(context, true);
docenv = DocEnv.instance(context);
+ preferSource = true;
}
/**
--- a/langtools/test/tools/javac/6341866/T6341866.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/6341866/T6341866.java Mon Dec 06 20:35:49 2010 -0800
@@ -97,7 +97,7 @@
processorServices.delete();
List<String> opts = new ArrayList<String>();
- opts.addAll(Arrays.asList("-d", ".", "-sourcepath", testSrc, "-classpath", testClasses, "-source", "1.6"));
+ opts.addAll(Arrays.asList("-d", ".", "-sourcepath", testSrc, "-classpath", testClasses, "-source", "1.6", "-Xlint:-options"));
if (implicitType.opt != null)
opts.add(implicitType.opt);
--- a/langtools/test/tools/javac/ClassFileModifiers/MemberModifiers.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/ClassFileModifiers/MemberModifiers.java Mon Dec 06 20:35:49 2010 -0800
@@ -26,7 +26,7 @@
* @bug 4249112 4785453
* @summary Verify that implicit member modifiers are set correctly.
*
- * @compile/ref=MemberModifiers.out -source 1.4 -target 1.4.2 -XDdumpmodifiers=cfm MemberModifiers.java
+ * @compile/ref=MemberModifiers.out -source 1.4 -target 1.4.2 -Xlint:-options -XDdumpmodifiers=cfm MemberModifiers.java
*/
// Currently, we check only that members of final classes are not final.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T6900037.java Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2010, 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.
+ */
+
+/*
+ * @test
+ * @bug 6900037
+ * @summary javac should warn if earlier -source is used and bootclasspath not set
+ * @compile T6900037.java
+ * @compile -source 1.6 T6900037.java
+ * @compile/fail/ref=T6900037.out -XDrawDiagnostics -Werror -source 1.6 T6900037.java
+ * @compile -Werror -source 1.6 -Xlint:-options T6900037.java
+ */
+
+class T6900037 { }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T6900037.out Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,4 @@
+- compiler.warn.source.no.bootclasspath: 1.6
+- compiler.err.warnings.and.werror
+1 error
+1 warning
--- a/langtools/test/tools/javac/TryWithResources/PlainTry.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/TryWithResources/PlainTry.java Mon Dec 06 20:35:49 2010 -0800
@@ -3,8 +3,8 @@
* @bug 6911256 6964740
* @author Joseph D. Darcy
* @summary Test error messages for an unadorned try
- * @compile/fail/ref=PlainTry6.out -XDrawDiagnostics -source 6 PlainTry.java
- * @compile/fail/ref=PlainTry.out -XDrawDiagnostics PlainTry.java
+ * @compile/fail/ref=PlainTry6.out -XDrawDiagnostics -source 6 -Xlint:-options PlainTry.java
+ * @compile/fail/ref=PlainTry.out -XDrawDiagnostics PlainTry.java
*/
public class PlainTry {
public static void main(String... args) {
--- a/langtools/test/tools/javac/annotations/neg/Dep.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/annotations/neg/Dep.java Mon Dec 06 20:35:49 2010 -0800
@@ -27,9 +27,9 @@
* @summary Please add annotation <at>Deprecated to supplant the javadoc tag
* @author gafter
*
- * @compile -source 1.4 -Xlint:dep-ann -Werror Dep.java
- * @compile/fail -Xlint:dep-ann -Werror Dep.java
- * @compile -Xlint:dep-ann Dep.java
+ * @compile -source 1.4 -Xlint:-options -Xlint:dep-ann -Werror Dep.java
+ * @compile/fail -Xlint:dep-ann -Werror Dep.java
+ * @compile -Xlint:dep-ann Dep.java
*/
/** @deprecated */
--- a/langtools/test/tools/javac/diags/examples/AnnotationsNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/AnnotationsNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.annotations.not.supported.in.source
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
@Deprecated
class AnnotationsNotSupported { }
--- a/langtools/test/tools/javac/diags/examples/AssertAsIdentifier.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/AssertAsIdentifier.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.warn.assert.as.identifier
-// options: -source 1.3
+// options: -source 1.3 -Xlint:-options
class AssertAsIdentifier {
int assert;
--- a/langtools/test/tools/javac/diags/examples/DiamondNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/DiamondNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.diamond.not.supported.in.source
-// options: -source 6
+// options: -source 6 -Xlint:-options
import java.util.*;
--- a/langtools/test/tools/javac/diags/examples/EmptyBytecodeIdent.java Fri Dec 03 19:45:34 2010 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2010, 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.
- */
-
-// key: compiler.err.empty.bytecode.ident
-
-class EmptyBytecodeIdent {
- int #"" = 3;
-}
--- a/langtools/test/tools/javac/diags/examples/EnumAsIdentifier.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/EnumAsIdentifier.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.warn.enum.as.identifier
-// options: -source 1.3
+// options: -source 1.3 -Xlint:-options
class EnumAsIdentifier {
int enum;
--- a/langtools/test/tools/javac/diags/examples/EnumsNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/EnumsNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,6 +22,6 @@
*/
// key: compiler.err.enums.not.supported.in.source
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
enum EnumsNotSupported { A, B, C }
--- a/langtools/test/tools/javac/diags/examples/Expected2.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/Expected2.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,6 +22,6 @@
*/
// key: compiler.err.expected2
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
int Expected2;
--- a/langtools/test/tools/javac/diags/examples/ForeachNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/ForeachNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.foreach.not.supported.in.source
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
class ForeachNotSupported {
void m(String[] args) {
--- a/langtools/test/tools/javac/diags/examples/GenericsNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/GenericsNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,6 +22,6 @@
*/
// key: compiler.err.generics.not.supported.in.source
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
class GenericsNotSupported<T> { }
--- a/langtools/test/tools/javac/diags/examples/IllegalBytecodeIdentChar.java Fri Dec 03 19:45:34 2010 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2010, 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.
- */
-
-// key: compiler.err.illegal.bytecode.ident.char
-
-class IllegalBytecodeIdentChar {
- int #"abc/def" = 3;
-}
--- a/langtools/test/tools/javac/diags/examples/MulticatchNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/MulticatchNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.multicatch.not.supported.in.source
-// options: -source 1.6
+// options: -source 1.6 -Xlint:-options
class MulticatchNotSupported {
class E1 extends Exception { }
--- a/langtools/test/tools/javac/diags/examples/NeitherConditionalSubtype.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/NeitherConditionalSubtype.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.neither.conditional.subtype
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
class X {
Object m(boolean b) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/SourceNoBootclasspath.java Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2010, 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.
+ */
+
+// key: compiler.warn.source.no.bootclasspath
+// options: -source 6
+
+class SourceNoBootclasspath { }
--- a/langtools/test/tools/javac/diags/examples/StaticImportNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/StaticImportNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.static.import.not.supported.in.source
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
import static java.util.regex.Pattern.*;
--- a/langtools/test/tools/javac/diags/examples/StringSwitchNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/StringSwitchNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.string.switch.not.supported.in.source
-// options: -source 6
+// options: -source 6 -Xlint:-options
class StringSwitchNotSupported {
int m(String s) {
--- a/langtools/test/tools/javac/diags/examples/TryResourceNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/TryResourceNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.try.with.resources.not.supported.in.source
-// options: -source 1.6
+// options: -source 1.6 -Xlint:-options
import java.io.*;
--- a/langtools/test/tools/javac/diags/examples/TryWithoutCatchOrFinally.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/TryWithoutCatchOrFinally.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.try.without.catch.or.finally
-// options: -source 1.6
+// options: -source 1.6 -Xlint:-options
class TryWithoutCatchOrFinally {
void m() {
--- a/langtools/test/tools/javac/diags/examples/UnclosedBytecodeIdent.java Fri Dec 03 19:45:34 2010 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2010, 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.
- */
-
-// key: compiler.err.unclosed.bytecode.ident
-
-class UnclosedBytecodeIdent {
- int #"abc
-}
--- a/langtools/test/tools/javac/diags/examples/UnsupportedBinaryLiteral.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/UnsupportedBinaryLiteral.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.unsupported.binary.lit
-// options: -source 6
+// options: -source 6 -Xlint:-options
class UnsupportedBinaryLiteral {
int i = 0b01000010;
--- a/langtools/test/tools/javac/diags/examples/UnsupportedExoticID.java Fri Dec 03 19:45:34 2010 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2010, 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.
- */
-
-// key: compiler.err.unsupported.exotic.id
-// options: -source 6
-
-class UnsupportedExoticID {
- void m() {
- Object #"Hello!" = null;
- }
-}
--- a/langtools/test/tools/javac/diags/examples/UnsupportedFpLit.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/UnsupportedFpLit.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.unsupported.fp.lit
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
class UnsupportedFpLit {
float f = 0xCafe.BabeP1;
--- a/langtools/test/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.unsupported.underscore.lit
-// options: -source 6
+// options: -source 6 -Xlint:-options
class UnsupportedUnderscoreLiteral {
int i = 123_456_789;
--- a/langtools/test/tools/javac/diags/examples/VarargsNotSupported.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/diags/examples/VarargsNotSupported.java Mon Dec 06 20:35:49 2010 -0800
@@ -22,7 +22,7 @@
*/
// key: compiler.err.varargs.not.supported.in.source
-// options: -source 1.4
+// options: -source 1.4 -Xlint:-options
class VarargsNotSupported {
void m(String... args) { }
--- a/langtools/test/tools/javac/enum/6384542/T6384542.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/enum/6384542/T6384542.java Mon Dec 06 20:35:49 2010 -0800
@@ -3,8 +3,8 @@
* @bug 6384542
* @summary crash: test/tools/javac/versions/check.sh
* @author Peter von der Ah\u00e9
- * @compile/fail -source 1.4 T6384542.java
- * @compile/fail/ref=T6384542.out -source 1.4 -XDrawDiagnostics T6384542.java
+ * @compile/fail -source 1.4 -Xlint:-options T6384542.java
+ * @compile/fail/ref=T6384542.out -source 1.4 -Xlint:-options -XDrawDiagnostics T6384542.java
*/
import static java.lang.Math.sin;
--- a/langtools/test/tools/javac/enum/6384542/T6384542a.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/enum/6384542/T6384542a.java Mon Dec 06 20:35:49 2010 -0800
@@ -5,8 +5,8 @@
* @author Peter von der Ah\u00e9
* @compile/fail -source 5 T6384542a.java
* @compile -source 1.4 T6384542a.java
- * @compile/fail/ref=T6384542a_5.out -source 5 -XDrawDiagnostics T6384542a.java
- * @compile/ref=T6384542a_1_4.out -source 1.4 -XDrawDiagnostics T6384542a.java
+ * @compile/fail/ref=T6384542a_5.out -source 5 -Xlint:-options -XDrawDiagnostics T6384542a.java
+ * @compile/ref=T6384542a_1_4.out -source 1.4 -Xlint:-options -XDrawDiagnostics T6384542a.java
*/
public class T6384542a {
--- a/langtools/test/tools/javac/generics/inference/6638712/T6638712a.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/generics/inference/6638712/T6638712a.java Mon Dec 06 20:35:49 2010 -0800
@@ -10,7 +10,7 @@
class T6638712a {
- <T> Comparator<T> compound(Iterable<? extends Comparator<? super T>> it) {}
+ <T> Comparator<T> compound(Iterable<? extends Comparator<? super T>> it) { return null; }
public void test(List<Comparator<?>> x) {
Comparator<String> c3 = compound(x);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/inference/6995200/T6995200.java Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2010, 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.
+ */
+
+/*
+ * @test
+ * @bug 6995200
+ *
+ * @summary JDK 7 compiler crashes when type-variable is inferred from expected primitive type
+ * @author mcimadamore
+ * @compile T6995200.java
+ *
+ */
+
+import java.util.List;
+
+class T6995200 {
+ static <T> T getValue() {
+ return null;
+ }
+
+ <X> void test() {
+ byte v1 = getValue();
+ short v2 = getValue();
+ int v3 = getValue();
+ long v4 = getValue();
+ float v5 = getValue();
+ double v6 = getValue();
+ String v7 = getValue();
+ String[] v8 = getValue();
+ List<String> v9 = getValue();
+ List<String>[] v10 = getValue();
+ List<? extends String> v11 = getValue();
+ List<? extends String>[] v12 = getValue();
+ List<? super String> v13 = getValue();
+ List<? super String>[] v14 = getValue();
+ List<?> v15 = getValue();
+ List<?>[] v16 = getValue();
+ X v17 = getValue();
+ X[] v18 = getValue();
+ List<X> v19 = getValue();
+ List<X>[] v20 = getValue();
+ List<? extends X> v21 = getValue();
+ List<? extends X>[] v22 = getValue();
+ List<? super X> v23 = getValue();
+ List<? super X>[] v24 = getValue();
+ }
+}
--- a/langtools/test/tools/javac/literals/BadBinaryLiterals.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/literals/BadBinaryLiterals.java Mon Dec 06 20:35:49 2010 -0800
@@ -2,7 +2,7 @@
* @test /nodynamiccopyright/
* @bug 6860965
* @summary Project Coin: binary literals
- * @compile/fail/ref=BadBinaryLiterals.6.out -XDrawDiagnostics -source 6 BadBinaryLiterals.java
+ * @compile/fail/ref=BadBinaryLiterals.6.out -XDrawDiagnostics -source 6 -Xlint:-options BadBinaryLiterals.java
* @compile/fail/ref=BadBinaryLiterals.7.out -XDrawDiagnostics BadBinaryLiterals.java
*/
--- a/langtools/test/tools/javac/literals/BadUnderscoreLiterals.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/literals/BadUnderscoreLiterals.java Mon Dec 06 20:35:49 2010 -0800
@@ -7,7 +7,7 @@
* @compile/fail/ref=BadUnderscoreLiterals.7.out -XDrawDiagnostics BadUnderscoreLiterals.java
*
* @compile/fail -source 6 BadUnderscoreLiterals.java
- * @compile/fail/ref=BadUnderscoreLiterals.6.out -XDrawDiagnostics -source 6 BadUnderscoreLiterals.java
+ * @compile/fail/ref=BadUnderscoreLiterals.6.out -XDrawDiagnostics -source 6 -Xlint:-options BadUnderscoreLiterals.java
*/
public class BadUnderscoreLiterals {
--- a/langtools/test/tools/javac/meth/InvokeDyn.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/meth/InvokeDyn.java Mon Dec 06 20:35:49 2010 -0800
@@ -58,7 +58,7 @@
ojunk = InvokeDynamic.greet(x, "mundus", 456);
ojunk = InvokeDynamic.greet(x, "kosmos", 789);
ojunk = (String) InvokeDynamic.cogitate(10.11121, 3.14);
- InvokeDynamic.#"yow: what I mean to say is, please treat this one specially"(null);
+ //InvokeDynamic.#"yow: what I mean to say is, please treat this one specially"(null);
ijunk = (int) InvokeDynamic.invoke("goodbye");
}
}
--- a/langtools/test/tools/javac/meth/InvokeDynTrans.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/meth/InvokeDynTrans.java Mon Dec 06 20:35:49 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008-2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2010, 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
@@ -53,7 +53,7 @@
InvokeDynamic.greet(x, "mundus", 456);
InvokeDynamic.greet(x, "kosmos", 789);
InvokeDynamic.<String>cogitate(10.11121, 3.14);
- InvokeDynamic.<void>#"yow: what I mean to say is, please treat this one specially"(null);
+ //InvokeDynamic.<void>#"yow: what I mean to say is, please treat this one specially"(null);
InvokeDynamic.<int>invoke("goodbye");
}
}
--- a/langtools/test/tools/javac/meth/InvokeDynTrans.out Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/meth/InvokeDynTrans.out Mon Dec 06 20:35:49 2010 -0800
@@ -1,6 +1,5 @@
InvokeDynTrans.java:55:39: compiler.warn.type.parameter.on.polymorphic.signature
-InvokeDynTrans.java:56:91: compiler.warn.type.parameter.on.polymorphic.signature
InvokeDynTrans.java:57:34: compiler.warn.type.parameter.on.polymorphic.signature
- compiler.err.warnings.and.werror
1 error
-3 warnings
+2 warnings
--- a/langtools/test/tools/javac/processing/warnings/TestSourceVersionWarnings.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/processing/warnings/TestSourceVersionWarnings.java Mon Dec 06 20:35:49 2010 -0800
@@ -27,15 +27,15 @@
* @summary Test that warnings about source versions are output as expected.
* @author Joseph D. Darcy
* @compile TestSourceVersionWarnings.java
- * @compile/ref=gold_0.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -source 1.5 HelloWorld.java
- * @compile/ref=gold_sv_warn_0_2.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_0 -source 1.2 HelloWorld.java
- * @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.2 HelloWorld.java
- * @compile/ref=gold_sv_warn_2_3.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.3 HelloWorld.java
- * @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.5 HelloWorld.java
- * @compile/ref=gold_sv_warn_5_6.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.6 HelloWorld.java
- * @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6 HelloWorld.java
- * @compile/ref=gold_unsp_warn.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6 -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_0.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -source 1.5 -Xlint:-options HelloWorld.java
+ * @compile/ref=gold_sv_warn_0_2.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_0 -source 1.2 -Xlint:-options HelloWorld.java
+ * @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.2 -Xlint:-options HelloWorld.java
+ * @compile/ref=gold_sv_warn_2_3.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.3 -Xlint:-options HelloWorld.java
+ * @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.5 -Xlint:-options HelloWorld.java
+ * @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
*/
import java.util.Set;
--- a/langtools/test/tools/javac/quid/QuotedIdent.java Fri Dec 03 19:45:34 2010 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, 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.
- */
-
-/*
- * @test
- * @bug 6746458
- * @summary Verify correct lexing of quoted identifiers.
- * @author jrose
- * @ignore 6877225 test fails on Windows:
- * QuotedIdent.java:81: error while writing QuotedIdent.*86: PATH\QuotedIdent$*86.class
- * (The filename, directory name, or volume label syntax is incorrect)
- *
- * @library ..
- * @compile -source 7 -target 7 -XDinvokedynamic QuotedIdent.java
- * @run main quid.QuotedIdent
- */
-
-/*
- * Standalone testing:
- * <code>
- * $ cd $MY_REPO_DIR/langtools
- * $ (cd make; make)
- * $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/quid/QuotedIdent.java
- * $ java -version # should print 1.6 or later
- * $ java -cp dist quid.QuotedIdent
- * </code>
- */
-
-package quid;
-
-public class QuotedIdent {
- static void check(int testid, String have, String expect)
- throws RuntimeException {
- if ((have == null && have != expect) ||
- (have != null && !have.equals(expect))) {
- String msg =
- "TEST " + testid + ": HAVE \"" +
- have + "\" EXPECT \"" + expect + "\"";
- System.out.println("StringConversion: " + msg);
- throw new RuntimeException(msg);
- }
- }
-
- // negative tests:
- //static class #"" { } //BAD empty ident name
- //static class #"<foo>" { } //BAD bad char in ident name
- /*static class /*(//BAD ident name interrupted by newline) #"jump:
- " { } /* uncomment previous line to attempt class w/ bad name */
-
- static class #"int" extends Number {
- final int #"int";
- #"int"(int #"int") {
- this.#"int" = #"int";
- }
- static #"int" valueOf(int #"int") {
- return new #"int"(#"int");
- }
- public int intValue() { return #"int"; }
- public long longValue() { return #"int"; }
- public float floatValue() { return #"int"; }
- public double doubleValue() { return #"int"; }
- public String toString() { return String.valueOf(#"int"); }
- }
-
- class #"*86" {
- String #"555-1212"() { return "[*86.555-1212]"; }
- }
- static#"*86"#"MAKE-*86"() { // note close spacing
- return new QuotedIdent().new#"*86"();
- }
-
- static String bar() { return "[bar]"; }
-
- public static void main(String[] args) throws Exception {
- String s;
-
- String #"sticky \' wicket" = "wicked ' stick";
- s = #"sticky ' wicket";
- check(11, s, "wicked \' stick");
- check(12, #"s", s);
- check(13, #"\163", s);
-
- s = #"QuotedIdent".bar();
- check(21, s, "[bar]");
-
- s = #"int".valueOf(123).toString();
- check(22, s, "123");
-
- s = #"MAKE-*86"().#"555-1212"();
- check(23, s, "[*86.555-1212]");
-
- class#"{{{inmost}}}" { }
- s = new#"{{{inmost}}}"().getClass().getName();
- if (!s.endsWith("{{{inmost}}}"))
- check(24, s, "should end with \"{{{inmost}}}\"");
-
- s = #"Yog-Shoggoth".#"(nameless ululation)";
- check(25, s, "Tekeli-li!");
-
- s = #"int".class.getName();
- check(31, s, QuotedIdent.class.getName()+"$int");
-
- Class<?> x86 = Class.forName(QuotedIdent.class.getName()+"$*86");
- if (x86 != #"*86".class)
- check(32, "reflected "+x86, "static "+#"*86".class);
-
- s = (String) x86.getDeclaredMethod("555-1212").invoke(#"MAKE-*86"());
- check(31, s, "[*86.555-1212]");
-
- System.out.println("OK");
- }
-}
-
-interface #"Yog-Shoggoth" {
- final String #"(nameless ululation)" = "Tekeli-li!";
-}
--- a/langtools/test/tools/javac/quid/QuotedIdent2.java Fri Dec 03 19:45:34 2010 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, 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.
- */
-
-/*
- * @test
- * @bug 6746458
- * @summary Verify correct separate compilation of classes with extended identifiers.
- * @author jrose
- * @ignore 6877225 test fails on Windows:
- * QuotedIdent.java:81: error while writing QuotedIdent.*86: PATH\QuotedIdent$*86.class
- * (The filename, directory name, or volume label syntax is incorrect)
- *
- * @library ..
- * @compile -source 7 -target 7 -XDinvokedynamic QuotedIdent.java
- * @run main quid.QuotedIdent2
- */
-/*
- * Standalone testing:
- * <code>
- * $ cd $MY_REPO_DIR/langtools
- * $ (cd make; make)
- * $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/quid/QuotedIdent.java
- * $ ./dist/bootstrap/bin/javac -d dist -cp dist test/tools/javac/quid/QuotedIdent2.java
- * $ java -version # should print 1.6 or later
- * $ java -cp dist QuotedIdent2
- * </code>
- */
-
-package quid;
-
-import quid.QuotedIdent.*;
-import quid.QuotedIdent.#"*86";
-import static quid.QuotedIdent.#"MAKE-*86";
-
-public class QuotedIdent2 {
- static void check(int testid, String have, String expect)
- throws RuntimeException {
- QuotedIdent.check(testid, have, expect);
- }
-
- public static void main(String[] args) throws Exception {
- String s;
-
- s = #"int".valueOf(123).toString();
- check(22, s, "123");
-
- s = #"MAKE-*86"().#"555-1212"();
- check(23, s, "[*86.555-1212]");
-
- s = #"Yog-Shoggoth".#"(nameless ululation)";
- check(25, s, "Tekeli-li!");
-
- s = QuotedIdent.#"int".class.getName();
- check(31, s, QuotedIdent.class.getName()+"$int");
-
- Class<?> x86 = Class.forName(QuotedIdent.class.getName()+"$*86");
- if (x86 != #"*86".class)
- check(32, "reflected "+x86, "static "+#"*86".class);
-
- s = (String) x86.getDeclaredMethod("555-1212").invoke(QuotedIdent.#"MAKE-*86"());
- check(31, s, "[*86.555-1212]");
-
- System.out.println("OK");
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/quid/T6999438.java Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,9 @@
+/* @test /nodynamiccopyright/
+ * @bug 6999438
+ * @summary remove support for exotic identifiers from JDK 7
+ * @compile/fail/ref=T6999438.out -XDrawDiagnostics -source 7 T6999438.java
+ */
+
+class Test {
+ int #"not supported";
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/quid/T6999438.out Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,6 @@
+T6999438.java:8:9: compiler.err.illegal.char: 35
+T6999438.java:8:10: compiler.err.illegal.start.of.type
+T6999438.java:8:25: compiler.err.expected: token.identifier
+T6999438.java:8:26: compiler.err.expected: ';'
+T6999438.java:9:2: compiler.err.premature.eof
+5 errors
--- a/langtools/test/tools/javac/varargs/warning/Warn1.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javac/varargs/warning/Warn1.java Mon Dec 06 20:35:49 2010 -0800
@@ -27,7 +27,7 @@
* @summary fixed-arity warning given too often
* @author gafter
*
- * @compile -Werror -source 1.4 Warn1.java
+ * @compile -Werror -source 1.4 -Xlint:-options Warn1.java
*/
package varargs.warning.warn1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javadoc/6942366/T6942366.java Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2010, 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.
+ */
+
+/*
+ * @test
+ * @bug 6942366
+ * @summary javadoc no longer inherits doc from sourcepath
+ * @build p.Base Test
+ * @run main T6942366
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class T6942366 {
+ public static void main(String... args) throws Exception {
+ new T6942366().run();
+ }
+
+ File testSrc;
+ File testClasses;
+ int count;
+ int errors;
+
+ void run() throws Exception {
+ testSrc = new File(System.getProperty("test.src"));
+ testClasses = new File(System.getProperty("test.classes"));
+
+ test(true, false);
+ test(false, true);
+ test(true, true);
+
+ if (errors > 0)
+ throw new Exception(errors + " errors found");
+ }
+
+ void test(boolean useSourcePath, boolean useClassPath) throws Exception {
+ System.out.println("test " + (++count) + " sp:" + useSourcePath + " cp:" + useClassPath);
+ File testDir = new File("test" + count);
+ testDir.mkdirs();
+
+ List<String> args = new ArrayList<String>();
+ //args.add("-verbose");
+ args.add("-d");
+ args.add(testDir.getPath());
+ if (useSourcePath) {
+ args.add("-sourcepath");
+ args.add(testSrc.getPath());
+ }
+ if (useClassPath) {
+ args.add("-classpath");
+ args.add(testClasses.getPath());
+ } else {
+ // override classpath to avoid stuff jtreg might have put on papth
+ args.add("-classpath");
+ args.add(".");
+ }
+
+ // use a very simple bootclasspath to avoid stuff jtreg might have put on path
+ File javaHome = new File(System.getProperty("java.home"));
+ File rt_jar = new File(javaHome, "lib/rt.jar");
+ if (!rt_jar.exists())
+ throw new Exception("rt.jar not found");
+ args.add("-bootclasspath");
+ args.add(rt_jar.getPath());
+
+ args.add(new File(testSrc, "Test.java").getPath());
+ System.out.println("javadoc: " + args);
+
+ int rc = com.sun.tools.javadoc.Main.execute(args.toArray(new String[args.size()]));
+ if (rc != 0)
+ throw new Exception("unexpected exit from javadoc, rc=" + rc);
+
+ if (useSourcePath && useClassPath) {
+ long srcLastMod = new File(testSrc, "Test.java").lastModified();
+ long classLastMod = new File(testClasses, "Test.class").lastModified();
+ System.out.println("Test.java last modified: " + new Date(srcLastMod));
+ System.out.println("Test.class last modified: " + new Date(classLastMod));
+ System.out.println((srcLastMod > classLastMod ? "source" : "class") + " is newer");
+ }
+
+ String s = "javadoc-for-Base.m";
+ boolean expect = useSourcePath;
+ boolean found = contains(new File(testDir, "Test.html"), s);
+ if (found) {
+ if (expect)
+ System.out.println("javadoc content \"" + s + "\" found, as expected");
+ else
+ error("javadoc content \"" + s + "\" found unexpectedly");
+ } else {
+ if (expect)
+ error("javadoc content \"" + s + "\" not found");
+ else
+ System.out.println("javadoc content \"" + s + "\" not found, as expected");
+ }
+
+ System.out.println();
+ }
+
+ boolean contains(File f, String s) throws Exception {
+ byte[] buf = new byte[(int) f.length()];
+ try (DataInputStream in = new DataInputStream(new FileInputStream(f))) {
+ in.readFully(buf);
+ }
+ return new String(buf).contains(s);
+ }
+
+ void error(String msg) {
+ System.out.println("Error: " + msg);
+ errors++;
+ }
+
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javadoc/6942366/Test.java Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2010, 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 Test extends p.Base {
+ // overrides Base.m
+ public void m() { }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javadoc/6942366/p/Base.java Mon Dec 06 20:35:49 2010 -0800
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010, 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.
+ */
+
+package p;
+
+public class Base {
+ /** javadoc-for-Base.m. */
+ public void m() { }
+}
+
--- a/langtools/test/tools/javap/T6729471.java Fri Dec 03 19:45:34 2010 -0800
+++ b/langtools/test/tools/javap/T6729471.java Mon Dec 06 20:35:49 2010 -0800
@@ -39,6 +39,8 @@
}
void run() {
+ File testClasses = new File(System.getProperty("test.classes"));
+
// simple class
verify("java.util.Map",
"public abstract boolean containsKey(java.lang.Object)");
@@ -48,11 +50,11 @@
"public abstract K getKey()");
// file name
- verify("../classes/tools/javap/T6729471.class",
+ verify(new File(testClasses, "T6729471.class").getPath(),
"public static void main(java.lang.String...)");
// file url
- verify("file:../classes/tools/javap/T6729471.class",
+ verify(new File(testClasses, "T6729471.class").toURI().toString(),
"public static void main(java.lang.String...)");
// jar url: rt.jar