# HG changeset patch # User lana # Date 1325703492 28800 # Node ID 1bf3713cb840f1e1fbb0020fbd49c21736e00670 # Parent 6561530ea757c3f3a6fb171c9cc7b3885cdeca85# Parent 6e1d14a4ff86b47de80befc3bb967696ad6acdec Merge diff -r 6561530ea757 -r 1bf3713cb840 langtools/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java Wed Jul 05 17:59:00 2017 +0200 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java Wed Jan 04 10:58:12 2012 -0800 @@ -535,13 +535,14 @@ reader.putChar('.'); scanFractionAndSuffix(pos); } else if (reader.ch == '.') { + int savePos = reader.bp; reader.putChar('.'); reader.putChar('.', true); if (reader.ch == '.') { reader.scanChar(); reader.putChar('.'); tk = TokenKind.ELLIPSIS; } else { - lexError(pos, "malformed.fp.lit"); + lexError(savePos, "illegal.dot"); } } else { tk = TokenKind.DOT; diff -r 6561530ea757 -r 1bf3713cb840 langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties --- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Wed Jul 05 17:59:00 2017 +0200 +++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Wed Jan 04 10:58:12 2012 -0800 @@ -384,6 +384,9 @@ compiler.err.illegal.underscore=\ illegal underscore +compiler.err.illegal.dot=\ + illegal ''.'' + # 0: symbol compiler.err.illegal.qual.not.icls=\ illegal qualifier; {0} is not an inner class diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/api/T6397104.java --- a/langtools/test/tools/javac/api/T6397104.java Wed Jul 05 17:59:00 2017 +0200 +++ b/langtools/test/tools/javac/api/T6397104.java Wed Jan 04 10:58:12 2012 -0800 @@ -26,10 +26,10 @@ * @bug 6397104 * @summary JSR 199: JavaFileManager.getFileForOutput should have sibling argument * @author Peter von der Ah\u00e9 - * @ignore this test should be rewritten when fixing 6473901 */ import java.io.File; +import java.net.URI; import java.util.Arrays; import javax.tools.*; import javax.tools.JavaFileManager.Location; @@ -52,10 +52,14 @@ : fm.getJavaFileObjectsFromFiles(Arrays.asList(siblingFile)).iterator().next(); FileObject fileObject = fm.getFileForOutput(location, "java.lang", relName, sibling); - if (!fileObject.toUri().getPath().equals(expectedPath)) - throw new AssertionError("Expected " + expectedPath + - ", got " + fileObject.toUri().getPath()); - System.out.format("OK: (%s, %s) => %s%n", siblingFile, relName, fileObject.toUri()); + + File expectedFile = new File(expectedPath).getCanonicalFile(); + File fileObjectFile = new File(fileObject.toUri()).getCanonicalFile(); + + if (!fileObjectFile.equals(expectedFile)) + throw new AssertionError("Expected " + expectedFile + + ", got " + fileObjectFile); + System.out.format("OK: (%s, %s) => %s%n", siblingFile, relName, fileObjectFile); } void test(boolean hasLocation, File siblingFile, String relName, String expectedPath) diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/diags/examples/IllegalDot.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/diags/examples/IllegalDot.java Wed Jan 04 10:58:12 2012 -0800 @@ -0,0 +1,30 @@ +/* + * Copyright (c) 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 + * 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.dot +// key: compiler.err.expected +// key: compiler.err.illegal.start.of.type + +class X { + void m(Object.. args) { } +} diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java --- a/langtools/test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java Wed Jul 05 17:59:00 2017 +0200 +++ b/langtools/test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java Wed Jan 04 10:58:12 2012 -0800 @@ -284,7 +284,7 @@ try { ct.analyze(); } catch (Throwable ex) { - throw new AssertionError("Error thron when compiling the following code:\n" + source.getCharContent(true)); + throw new AssertionError("Error thrown when compiling the following code:\n" + source.getCharContent(true)); } check(); } diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/generics/inference/7086601/T7086601b.java --- a/langtools/test/tools/javac/generics/inference/7086601/T7086601b.java Wed Jul 05 17:59:00 2017 +0200 +++ b/langtools/test/tools/javac/generics/inference/7086601/T7086601b.java Wed Jan 04 10:58:12 2012 -0800 @@ -146,7 +146,7 @@ try { ct.analyze(); } catch (Throwable ex) { - throw new AssertionError("Error thron when compiling the following code:\n" + source.getCharContent(true)); + throw new AssertionError("Error thrown when compiling the following code:\n" + source.getCharContent(true)); } check(); } diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java --- a/langtools/test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java Wed Jul 05 17:59:00 2017 +0200 +++ b/langtools/test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java Wed Jan 04 10:58:12 2012 -0800 @@ -210,7 +210,7 @@ try { ct.analyze(); } catch (Throwable ex) { - throw new AssertionError("Error thron when compiling the following code:\n" + source.getCharContent(true)); + throw new AssertionError("Error thrown when compiling the following code:\n" + source.getCharContent(true)); } check(); } diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/lambda/LambdaParserTest.java --- a/langtools/test/tools/javac/lambda/LambdaParserTest.java Wed Jul 05 17:59:00 2017 +0200 +++ b/langtools/test/tools/javac/lambda/LambdaParserTest.java Wed Jan 04 10:58:12 2012 -0800 @@ -238,7 +238,7 @@ try { ct.parse(); } catch (Throwable ex) { - throw new AssertionError("Error thron when parsing the following source:\n" + source.getCharContent(true)); + throw new AssertionError("Error thrown when parsing the following source:\n" + source.getCharContent(true)); } check(); } diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/parser/T4881269.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/parser/T4881269.java Wed Jan 04 10:58:12 2012 -0800 @@ -0,0 +1,35 @@ +/* + * Copyright (c) 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 + * 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 4881269 + * @summary improve diagnostic for ill-formed tokens + * @compile/fail/ref=T4881269.out -XDrawDiagnostics T4881269.java + */ + +public class T4881269 { + java.io..PrintStream s; + void m() { System.err..println(); } + void m(Object.. o) { } +} diff -r 6561530ea757 -r 1bf3713cb840 langtools/test/tools/javac/parser/T4881269.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/parser/T4881269.out Wed Jan 04 10:58:12 2012 -0800 @@ -0,0 +1,9 @@ +T4881269.java:32:13: compiler.err.illegal.dot +T4881269.java:33:27: compiler.err.illegal.dot +T4881269.java:33:22: compiler.err.not.stmt +T4881269.java:34:19: compiler.err.illegal.dot +T4881269.java:34:20: compiler.err.expected: ';' +T4881269.java:34:22: compiler.err.illegal.start.of.type +T4881269.java:34:23: compiler.err.expected: token.identifier +T4881269.java:34:25: compiler.err.expected: ';' +8 errors