diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java index e2a47bba0570..14077688ebe5 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java @@ -17,6 +17,7 @@ package org.jetbrains.jps.incremental; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.openapi.util.text.StringUtil; import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.builders.BuildTarget; @@ -94,7 +95,7 @@ public class Utils { public static URI toURI(String localPath) { try { - String p = FileUtil.toSystemIndependentName(localPath); + String p = FileUtilRt.toSystemIndependentName(localPath); if (!p.startsWith("/")) { p = "/" + p; } diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java index 95fcd7d9ffa1..c6c67352387e 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java @@ -224,9 +224,11 @@ class OptimizedFileManager17 extends com.sun.tools.javac.file.JavacFileManager { return fileKinds.contains(getKind(name)); } - private class InputFileObject extends BaseFileObject { + private static class InputFileObject extends BaseFileObject { + private static final Kind[] ourAvailableKinds = Kind.values(); private final String name; private final File file; + private final Kind kind; private Reference absFileRef; public InputFileObject(JavacFileManager fileManager, File f) { @@ -237,9 +239,9 @@ class OptimizedFileManager17 extends com.sun.tools.javac.file.JavacFileManager { super(fileManager); this.name = name; this.file = f; + kind = findKind(name); } - @Override public URI toUri() { try { @@ -262,7 +264,11 @@ class OptimizedFileManager17 extends com.sun.tools.javac.file.JavacFileManager { @Override public JavaFileObject.Kind getKind() { - for (Kind kind : Kind.values()) { + return kind; + } + + private static JavaFileObject.Kind findKind(String name) { + for (Kind kind : ourAvailableKinds) { if (kind != Kind.OTHER && name.endsWith(kind.extension)) { return kind; } diff --git a/jps/lib/optimizedFileManager.jar b/jps/lib/optimizedFileManager.jar index cff0c64dfed8..49be7ded7896 100644 Binary files a/jps/lib/optimizedFileManager.jar and b/jps/lib/optimizedFileManager.jar differ