summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorGeorge Fraser <george@fivetran.com>2019-01-08 20:29:20 -0800
committerGeorge Fraser <george@fivetran.com>2019-01-08 20:29:20 -0800
commit938fce4f8d2630d456caea03b0c178508680e945 (patch)
tree393084404c94156fd549c2c7e1aaf2a79eaa8eea /src/main
parenta8d28f51dfc42c88eddbe1b5156f5b1be5aece83 (diff)
downloadjava-language-server-938fce4f8d2630d456caea03b0c178508680e945.zip
Use SourceFileManager from docs
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/javacs/Docs.java9
-rw-r--r--src/main/java/org/javacs/SourceFileManager.java4
2 files changed, 6 insertions, 7 deletions
diff --git a/src/main/java/org/javacs/Docs.java b/src/main/java/org/javacs/Docs.java
index fa9181a..29d4c28 100644
--- a/src/main/java/org/javacs/Docs.java
+++ b/src/main/java/org/javacs/Docs.java
@@ -13,7 +13,7 @@ import javax.tools.*;
public class Docs {
/** File manager with source-path + platform sources, which we will use to look up individual source files */
- private final StandardJavaFileManager fileManager;
+ private final SourceFileManager fileManager = new SourceFileManager();
private static Path srcZip() {
try {
@@ -25,12 +25,7 @@ public class Docs {
}
Docs(Set<Path> docPath) {
- this.fileManager =
- ServiceLoader.load(JavaCompiler.class).iterator().next().getStandardFileManager(__ -> {}, null, null);
-
- // Compute the full source path, including src.zip for platform classes
- // TODO source path needs to somehow get from FileStore to here; maybe write a FileManager that fuses FileStore
- // with docPath?
+ // Path to source .jars + src.zip
var sourcePathFiles = docPath.stream().map(Path::toFile).collect(Collectors.toSet());
try {
diff --git a/src/main/java/org/javacs/SourceFileManager.java b/src/main/java/org/javacs/SourceFileManager.java
index 64ef0b0..9ea750f 100644
--- a/src/main/java/org/javacs/SourceFileManager.java
+++ b/src/main/java/org/javacs/SourceFileManager.java
@@ -113,5 +113,9 @@ class SourceFileManager extends ForwardingJavaFileManager<StandardJavaFileManage
fileManager.setLocation(location, files);
}
+ public void setLocationFromPaths(Location location, Collection<? extends Path> searchpath) throws IOException {
+ fileManager.setLocationFromPaths(location, searchpath);
+ }
+
private static final Logger LOG = Logger.getLogger("main");
}