changeset 42500:d10c31f6b857

8153229: JavacFiler.checkFileReopening drowns in exceptions after Modular Runtime Images change Summary: Using Path.equals instead of Files.isSameFile to speed up Filer checks Reviewed-by: jjg
author jlahoda
date Mon, 12 Dec 2016 17:00:30 +0100
parents 49b675740462
children 6b4ffbdd998e
files langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/PathFileObject.java
diffstat 1 files changed, 4 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/PathFileObject.java	Mon Dec 12 13:27:39 2016 +0100
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/PathFileObject.java	Mon Dec 12 17:00:30 2016 +0100
@@ -499,11 +499,10 @@
     }
 
     boolean isSameFile(PathFileObject other) {
-        try {
-            return Files.isSameFile(path, other.path);
-        } catch (IOException e) {
-            return false;
-        }
+        // By construction, the "path" field should be canonical in all likely, supported scenarios.
+        // (Any exceptions would involve the use of symlinks within a package hierarchy.)
+        // Therefore, it is sufficient to check that the paths are .equals.
+        return path.equals(other.path);
     }
 
     @Override