Merge
authorlana
Mon, 09 Jan 2012 19:13:08 -0800
changeset 11386 9d026cb0fb2f
parent 11380 b3c5dd9eeb69 (current diff)
parent 11385 1bf3713cb840 (diff)
child 11387 b691435b7a21
Merge
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java	Thu Jan 05 08:42:49 2012 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java	Mon Jan 09 19:13:08 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;
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Thu Jan 05 08:42:49 2012 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Mon Jan 09 19:13:08 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
--- a/langtools/test/tools/javac/api/T6397104.java	Thu Jan 05 08:42:49 2012 -0800
+++ b/langtools/test/tools/javac/api/T6397104.java	Mon Jan 09 19:13:08 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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/IllegalDot.java	Mon Jan 09 19:13:08 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) { }
+}
--- a/langtools/test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java	Thu Jan 05 08:42:49 2012 -0800
+++ b/langtools/test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java	Mon Jan 09 19:13:08 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();
     }
--- a/langtools/test/tools/javac/generics/inference/7086601/T7086601b.java	Thu Jan 05 08:42:49 2012 -0800
+++ b/langtools/test/tools/javac/generics/inference/7086601/T7086601b.java	Mon Jan 09 19:13:08 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();
     }
--- a/langtools/test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java	Thu Jan 05 08:42:49 2012 -0800
+++ b/langtools/test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java	Mon Jan 09 19:13:08 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();
     }
--- a/langtools/test/tools/javac/lambda/LambdaParserTest.java	Thu Jan 05 08:42:49 2012 -0800
+++ b/langtools/test/tools/javac/lambda/LambdaParserTest.java	Mon Jan 09 19:13:08 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();
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/parser/T4881269.java	Mon Jan 09 19:13:08 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) { }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/parser/T4881269.out	Mon Jan 09 19:13:08 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