external build: avoiding exceptions when creating URI objects

This commit is contained in:
Eugene Zhuravlev
2013-02-10 16:26:35 +01:00
parent edf3eca010
commit adf454ecf2
3 changed files with 11 additions and 5 deletions
@@ -19,6 +19,7 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.sun.tools.javac.util.*;
import com.sun.tools.javac.util.List;
import org.jetbrains.jps.incremental.Utils;
import javax.lang.model.SourceVersion;
import javax.tools.*;
@@ -26,7 +27,6 @@ import java.io.*;
import java.lang.ref.SoftReference;
import java.lang.reflect.Field;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.*;
@@ -418,10 +418,10 @@ class OptimizedFileManager extends DefaultFileManager {
public URI toUri() {
try {
return new URI(f.getPath());
return Utils.toURI(f.getPath());
}
catch (URISyntaxException ex) {
return f.toURI();
catch (Throwable ex) {
return f.toURI().normalize();
}
}
}
@@ -21,6 +21,7 @@ import com.sun.tools.javac.file.RelativePath;
import com.sun.tools.javac.util.Context;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.ListBuffer;
import org.jetbrains.jps.incremental.Utils;
import javax.lang.model.SourceVersion;
import javax.tools.*;
@@ -229,7 +230,12 @@ class OptimizedFileManager17 extends com.sun.tools.javac.file.JavacFileManager {
@Override
public URI toUri() {
return file.toURI().normalize();
try {
return Utils.toURI(file.getPath());
}
catch (Throwable e) {
return file.toURI().normalize(); // fallback
}
}
@Override
Binary file not shown.