Java 类javax.tools.JavaFileManager.Location 实例源码

项目:OpenJSharp    文件:PathDocFileFactory.java   
public PathDocFileFactory(Configuration configuration) {
    super(configuration);
    fileManager = (PathFileManager) configuration.getFileManager();

    if (!configuration.destDirName.isEmpty()
            || !fileManager.hasLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT)) {
        try {
            String dirName = configuration.destDirName.isEmpty() ? "." : configuration.destDirName;
            Path dir = fileManager.getDefaultFileSystem().getPath(dirName);
            fileManager.setLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT, Arrays.asList(dir));
        } catch (IOException e) {
            throw new DocletAbortException(e);
        }
    }

    destDir = fileManager.getLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT).iterator().next();
}
项目:OpenJSharp    文件:StandardDocFileFactory.java   
private File getDestDir() {
    if (destDir == null) {
        if (!configuration.destDirName.isEmpty()
                || !fileManager.hasLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT)) {
            try {
                String dirName = configuration.destDirName.isEmpty() ? "." : configuration.destDirName;
                File dir = new File(dirName);
                fileManager.setLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT, Arrays.asList(dir));
            } catch (IOException e) {
                throw new DocletAbortException(e);
            }
        }

        destDir = fileManager.getLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT).iterator().next();
    }
    return destDir;
}
项目:openjdk-jdk10    文件:T6397104.java   
void test(boolean hasLocation, File siblingFile, String relName, String expectedPath)
    throws Exception
{
    System.err.format("test: hasLocation:%s, siblingFile:%s, relName:%s, expectedPath:%s%n",
            hasLocation, siblingFile, relName, expectedPath);
    try (StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null)) {
        if (hasLocation) {
            for (Location location : StandardLocation.values()) {
                System.err.format("  location:%s, moduleLocn:%b%n",
                    location, location.isModuleOrientedLocation());
                if (!location.isOutputLocation()) {
                    continue;
                }
                fm.setLocation(location, Arrays.asList(new File(".")));
                test(fm, location, siblingFile, relName, expectedPath);
            }
        } else {
            test(fm, CLASS_OUTPUT, siblingFile, relName, expectedPath);
        }
    }
}
项目:incubator-netbeans    文件:OutputFileManager.java   
@Override
public javax.tools.FileObject getFileForInput(Location l, String pkgName, String relativeName) {
    final String[] names = FileObjects.getFolderAndBaseName(
        FileObjects.resolveRelativePath(pkgName, relativeName),
        FileObjects.NBFS_SEPARATOR_CHAR);
    javax.tools.FileObject fo = tx.readFileObject(l, names[0], names[1]);
    if (fo != null) {
        return fo;
    }
    if (!ModuleLocation.isInstance(l)) {
        //File in output
        return super.getFileForInput(l, pkgName, relativeName);
    } else {
        //File in module
        return getFileForInputImpl(
                ModuleLocation.WithExcludes.cast(l).getModuleEntries(),
                pkgName,
                relativeName);
    }
}
项目:incubator-netbeans    文件:OutputFileManager.java   
private File getClassFolderForApt(
           final Location l,
           final String baseName) {
       String[] parentName = splitParentName(baseName);
       final Collection<? extends URL> roots = getLocationRoots(l);
       for (ClassPath.Entry entry : this.apt.entries()) {
           FileObject root = entry.getRoot();
           if (root != null) {
               FileObject parentFile = root.getFileObject(parentName[0]);
               if (parentFile != null) {
                   if (parentFile.getFileObject(parentName[1], FileObjects.JAVA) != null) {
                       final URL classFolder = AptCacheForSourceQuery.getClassFolder(entry.getURL());
                       if (classFolder != null && roots.contains(classFolder)) {
                           try {
                               return BaseUtilities.toFile(classFolder.toURI());
                           } catch (URISyntaxException ex) {
                               Exceptions.printStackTrace(ex);
                           }
                       }
                   }
               }
           }
       }
return null;
   }
项目:incubator-netbeans    文件:SourceFileManager.java   
@Override
public JavaFileObject getJavaFileForInput (Location l, final String className, JavaFileObject.Kind kind) {
    String[] namePair = FileObjects.getParentRelativePathAndName (className);
    String ext = kind == JavaFileObject.Kind.CLASS ? FileObjects.SIG : kind.extension.substring(1);   //tzezula: Clearly wrong in compile on save, but "class" is also wrong
    for (ClassPath.Entry entry : this.sourceRoots.entries()) {
        FileObject root = entry.getRoot();
        if (root != null) {
            FileObject parent = root.getFileObject(namePair[0]);
            if (parent != null) {
                FileObject[] children = parent.getChildren();
                for (FileObject child : children) {
                    if (namePair[1].equals(child.getName()) && ext.equalsIgnoreCase(child.getExt()) && (ignoreExcludes || entry.includes(child))) {
                        return FileObjects.sourceFileObject(child, root);
                    }
                }
            }
        }
    }
    return null;
}
项目:openjdk-jdk10    文件:Locations.java   
@Override
Iterable<Set<Location>> listLocationsForModules() throws IOException {
    if (!listed && outputDir != null) {
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(outputDir)) {
            for (Path p : stream) {
                getLocationForModule(p.getFileName().toString());
            }
        }
        listed = true;
    }

    if (moduleTable == null || moduleTable.isEmpty())
        return Collections.emptySet();

    return Collections.singleton(moduleTable.locations());
}
项目:openjdk-jdk10    文件:JavadocTool.java   
private Location getLocation(String packageName) throws IOException {
    if (location == StandardLocation.MODULE_SOURCE_PATH) {
        // TODO: handle invalid results
        Name pack = names.fromString(packageName);

        for (ModuleSymbol msym : modules.allModules()) {
            PackageSymbol p = syms.getPackage(msym, pack);
            if (p != null && !p.members().isEmpty()) {
                return fm.getLocationForModule(location, msym.name.toString());
            }
        }

        return null;
    } else {
        return location;
    }
}
项目:openjdk-jdk10    文件:SetLocationForModule.java   
@Test
public void testBasic(Path base) throws IOException {
    try (StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null)) {
        Location[] locns = {
            StandardLocation.SOURCE_PATH,
            StandardLocation.CLASS_PATH,
            StandardLocation.PLATFORM_CLASS_PATH,
        };
        // set a value
        Path out = Files.createDirectories(base.resolve("out"));
        for (Location locn : locns) {
            checkException("unsupported for location",
                    IllegalArgumentException.class,
                    "location is not an output location or a module-oriented location: " + locn,
                    () -> fm.setLocationForModule(locn, "m", List.of(out)));
        }
    }
}
项目:openjdk-jdk10    文件:T6397104.java   
void test(StandardJavaFileManager fm,
          Location location,
          File siblingFile,
          String relName,
          String expectedPath)
    throws Exception
{
    JavaFileObject sibling = siblingFile == null
        ? null
        : fm.getJavaFileObjectsFromFiles(Arrays.asList(siblingFile)).iterator().next();
    FileObject fileObject =
        fm.getFileForOutput(location, "java.lang", relName, sibling);

    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.err.format("OK: (%s, %s) => %s%n", siblingFile, relName, fileObjectFile);
}
项目:openjdk-jdk10    文件:SetLocationForModule.java   
@Test
public void testSystemModules(Path base) throws IOException {
    try (StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null)) {
        Location locn = StandardLocation.SYSTEM_MODULES;

        Location javaCompiler = fm.getLocationForModule(locn, "java.compiler");
        // cannot easily verify default setting: could be jrt: or exploded image

        Path override1 = Files.createDirectories(base.resolve("override1"));
        fm.setLocationForModule(locn, "java.compiler", List.of(override1));
        checkEqual("override setting 1",
                fm.getLocationAsPaths(javaCompiler), override1);

        Path override2 = Files.createDirectories(base.resolve("override2"));
        fm.setLocationFromPaths(javaCompiler, List.of(override2));
        checkEqual("override setting 2",
                fm.getLocationAsPaths(javaCompiler), override2);
    }
}
项目:javaide    文件:ClassReader.java   
private void fillIn(PackageSymbol p,
                    Location location,
                    Iterable<JavaFileObject> files) {
    currentLoc = location;
    for (JavaFileObject fo : files) {
        switch (fo.getKind()) {
            case CLASS:
            case SOURCE: {
                // TODO pass binaryName to includeClassFile
                String binaryName = fileManager.inferBinaryName(currentLoc, fo);
                String simpleName = binaryName.substring(binaryName.lastIndexOf(".") + 1);
                if (SourceVersion.isIdentifier(simpleName) ||
                        simpleName.equals("package-info"))
                    includeClassFile(p, fo);
                break;
            }
            default:
                extraFileActions(p, fo);
        }
    }
}
项目:openjdk-jdk10    文件:ElementsTable.java   
@SuppressWarnings("unchecked")
private void computeSubpackages() throws ToolException {
    ((List<String>) opts.computeIfAbsent(ToolOption.EXCLUDE, v -> Collections.EMPTY_LIST))
            .stream()
            .map(ModulePackage::new)
            .forEachOrdered((mpkg) -> excludePackages.add(mpkg));

    excludePackages.forEach((p) -> {
        getEntry(p).excluded = true;
    });

    for (ModulePackage modpkg : subPackages) {
        List<Location> locs = getLocation(modpkg);
        for (Location loc : locs) {
            addPackagesFromLocations(loc, modpkg);
        }
    }
}
项目:javaide    文件:Paths.java   
void setPathForLocation(Location location, Iterable<? extends File> path) {
    // TODO? if (inited) throw new IllegalStateException
    // TODO: otherwise reset sourceSearchPath, classSearchPath as needed
    Path p;
    if (path == null) {
        if (location == CLASS_PATH)
            p = computeUserClassPath();
        else if (location == PLATFORM_CLASS_PATH)
            p = computeBootClassPath();
        else if (location == ANNOTATION_PROCESSOR_PATH)
            p = computeAnnotationProcessorPath();
        else if (location == SOURCE_PATH)
            p = computeSourcePath();
        else
            // no defaults for other paths
            p = null;
    } else {
        p = new Path();
        for (File f : path)
            p.addFile(f, warn); // TODO: is use of warn appropriate?
    }
    pathsForLocation.put(location, p);
}
项目:OpenJSharp    文件:ClassReader.java   
private void fillIn(PackageSymbol p,
                    Location location,
                    Iterable<JavaFileObject> files)
{
    currentLoc = location;
    for (JavaFileObject fo : files) {
        switch (fo.getKind()) {
        case CLASS:
        case SOURCE: {
            // TODO pass binaryName to includeClassFile
            String binaryName = fileManager.inferBinaryName(currentLoc, fo);
            String simpleName = binaryName.substring(binaryName.lastIndexOf(".") + 1);
            if (SourceVersion.isIdentifier(simpleName) ||
                simpleName.equals("package-info"))
                includeClassFile(p, fo);
            break;
        }
        default:
            extraFileActions(p, fo);
        }
    }
}
项目:OpenJSharp    文件:Locations.java   
void initHandlers() {
    handlersForLocation = new HashMap<Location, LocationHandler>();
    handlersForOption = new EnumMap<Option, LocationHandler>(Option.class);

    LocationHandler[] handlers = {
        new BootClassPathLocationHandler(),
        new ClassPathLocationHandler(),
        new SimpleLocationHandler(StandardLocation.SOURCE_PATH, Option.SOURCEPATH),
        new SimpleLocationHandler(StandardLocation.ANNOTATION_PROCESSOR_PATH, Option.PROCESSORPATH),
        new OutputLocationHandler((StandardLocation.CLASS_OUTPUT), Option.D),
        new OutputLocationHandler((StandardLocation.SOURCE_OUTPUT), Option.S),
        new OutputLocationHandler((StandardLocation.NATIVE_HEADER_OUTPUT), Option.H)
    };

    for (LocationHandler h: handlers) {
        handlersForLocation.put(h.location, h);
        for (Option o: h.options)
            handlersForOption.put(o, h);
    }
}
项目:openjdk-jdk10    文件:ElementsTable.java   
private void addPackagesFromLocations(Location packageLocn, ModulePackage modpkg) throws ToolException {
    for (JavaFileObject fo : fmList(packageLocn, modpkg.packageName, sourceKinds, true)) {
        String binaryName = fm.inferBinaryName(packageLocn, fo);
        String pn = getPackageName(binaryName);
        String simpleName = getSimpleName(binaryName);
        Entry e = getEntry(pn);
        if (!e.isExcluded() && isValidClassName(simpleName)) {
            ModuleSymbol msym = (modpkg.hasModule())
                    ? syms.getModule(names.fromString(modpkg.moduleName))
                    : findModuleOfPackageName(modpkg.packageName);

            if (msym != null && !msym.isUnnamed()) {
                syms.enterPackage(msym, names.fromString(pn));
                ModulePackage npkg = new ModulePackage(msym.toString(), pn);
                cmdLinePackages.add(npkg);
            } else {
                cmdLinePackages.add(e.modpkg);
            }
            e.files = (e.files == null
                    ? com.sun.tools.javac.util.List.of(fo)
                    : e.files.prepend(fo));
        }
    }
}
项目:openjdk-jdk10    文件:ElementsTable.java   
private Location getModuleLocation(Location location, String msymName) throws ToolException {
    try {
        return fm.getLocationForModule(location, msymName);
    } catch (IOException ioe) {
        String text = messager.getText("main.doclet_could_not_get_location", msymName);
        throw new ToolException(ERROR, text, ioe);
    }
}
项目:incubator-netbeans    文件:OutputFileManager.java   
@Override
public Location getLocationForModule(Location location, String moduleName) throws IOException {
    return StreamSupport.stream(
            listLocationsForModules(location).spliterator(),
            false)
            .flatMap((c) -> c.stream())
            .filter((l) -> moduleName.equals(ModuleLocation.cast(l).getModuleName()))
            .findAny()
            .orElse(null);
}
项目:incubator-netbeans    文件:OutputFileManager.java   
private File getClassFolderForSource (
        final Location l,
        final javax.tools.FileObject sibling,
        final String baseName) throws IOException {
    return sibling == null ?
            getClassFolderForSourceImpl(l, baseName) :
            getClassFolderForSourceImpl(sibling.toUri().toURL());
}
项目:openjdk-jdk10    文件:Locations.java   
@Override
Iterable<Set<Location>> listLocationsForModules() {
    if (moduleTable == null)
        return Collections.emptySet();

    return Collections.singleton(moduleTable.locations());
}
项目:incubator-netbeans    文件:OutputFileManager.java   
private File getClassFolderForApt(
        final Location l,
        final javax.tools.FileObject sibling,
        final String baseName) throws IOException {
    return sibling == null ?
            getClassFolderForApt(l, baseName) :
            getClassFolderForApt(sibling.toUri().toURL());
}
项目:incubator-netbeans    文件:OutputFileManager.java   
private void assertValidRoot(
        final File activeRoot,
        final Location l) throws IOException {
    final Collection<? extends URL> roots = getLocationRoots(l);
    if (!roots.contains(BaseUtilities.toURI(activeRoot).toURL())) {
        throw new IOException(String.format(
                "Wrong cache folder: %s, allowed: %s, location: %s",    //NOI18N
                activeRoot,
                roots,
                l));
    }
}
项目:incubator-netbeans    文件:SourceFileManager.java   
@Override
public Iterable<JavaFileObject> list(final Location l, final String packageName, final Set<JavaFileObject.Kind> kinds, final boolean recursive) {
    //Todo: Caching of results, needs listening on FS
    List<JavaFileObject> result = new ArrayList<JavaFileObject> ();
    String _name = packageName.replace('.','/');    //NOI18N
    if (_name.length() != 0) {
        _name+='/';                                 //NOI18N
    }
    for (ClassPath.Entry entry : this.sourceRoots.entries()) {
        if (ignoreExcludes || entry.includes(_name)) {
            FileObject root = entry.getRoot();
            if (root != null) {
                FileObject tmpFile = root.getFileObject(_name);
                if (tmpFile != null && tmpFile.isFolder()) {
                    Enumeration<? extends FileObject> files = tmpFile.getChildren (recursive);
                    while (files.hasMoreElements()) {
                        FileObject file = files.nextElement();
                        if (ignoreExcludes || entry.includes(file)) {
                            final JavaFileObject.Kind kind = FileObjects.getKind(file.getExt());                                
                            if (kinds.contains(kind)) {                        
                                result.add (FileObjects.sourceFileObject(file, root));
                            }
                        }
                    }
                }
            }
        }
    }
    return result;
}
项目:openjdk-jdk10    文件:JavacFiler.java   
private JavaFileObject createSourceOrClassFile(ModuleSymbol mod, boolean isSourceFile, String name) throws IOException {
    Assert.checkNonNull(mod);

    if (lint) {
        int periodIndex = name.lastIndexOf(".");
        if (periodIndex != -1) {
            String base = name.substring(periodIndex);
            String extn = (isSourceFile ? ".java" : ".class");
            if (base.equals(extn))
                log.warning(Warnings.ProcSuspiciousClassName(name, extn));
        }
    }
    checkNameAndExistence(mod, name, isSourceFile);
    Location loc = (isSourceFile ? SOURCE_OUTPUT : CLASS_OUTPUT);

    if (modules.multiModuleMode) {
        loc = this.fileManager.getLocationForModule(loc, mod.name.toString());
    }
    JavaFileObject.Kind kind = (isSourceFile ?
                                JavaFileObject.Kind.SOURCE :
                                JavaFileObject.Kind.CLASS);

    JavaFileObject fileObject =
        fileManager.getJavaFileForOutput(loc, name, kind, null);
    checkFileReopening(fileObject, true);

    if (lastRound)
        log.warning(Warnings.ProcFileCreateLastRound(name));

    if (isSourceFile)
        aggregateGeneratedSourceNames.add(Pair.of(mod, name));
    else
        aggregateGeneratedClassNames.add(Pair.of(mod, name));
    openTypeNames.add(name);

    return new FilerOutputJavaFileObject(mod, name, fileObject);
}
项目:openjdk-jdk10    文件:ElementsTable.java   
/**
 * Creates the table to manage included and excluded elements.
 *
 * @param context the context to locate commonly used objects
 * @param location the location used to locate source files
 */
ElementsTable(Context context, Map<ToolOption, Object> opts) {
    this.toolEnv = ToolEnvironment.instance(context);
    this.syms = Symtab.instance(context);
    this.names = Names.instance(context);
    this.fm = toolEnv.fileManager;
    this.modules = Modules.instance(context);
    this.opts = opts;
    this.messager = Messager.instance0(context);
    this.compiler = JavaCompiler.instance(context);
    Source source = Source.instance(context);

    List<Location> locs = new ArrayList<>();
    if (modules.multiModuleMode) {
        locs.add(StandardLocation.MODULE_SOURCE_PATH);
    } else {
        if (toolEnv.fileManager.hasLocation(StandardLocation.SOURCE_PATH))
            locs.add(StandardLocation.SOURCE_PATH);
        else
            locs.add(StandardLocation.CLASS_PATH);
    }
    if (source.allowModules() && toolEnv.fileManager.hasLocation(StandardLocation.PATCH_MODULE_PATH))
        locs.add(StandardLocation.PATCH_MODULE_PATH);
    this.locations = Collections.unmodifiableList(locs);

    getEntry("").excluded = false;

    accessFilter = new ModifierFilter(opts);
    xclasses = (boolean)opts.getOrDefault(ToolOption.XCLASSES, false);
    expandRequires = (AccessKind)opts.get(ToolOption.EXPAND_REQUIRES);
}
项目:openjdk-jdk10    文件:SetLocationForModule.java   
@Test
    public void testModuleSourcePath(Path base) throws IOException {
        try (StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null)) {

            Location locn = StandardLocation.MODULE_SOURCE_PATH;

            Path src1 = Files.createDirectories(base.resolve("src1"));
            Path src1_m = src1.resolve("m");
            tb.writeJavaFiles(src1_m, "module m { }");
//            fm.setLocationFromPaths(locn, List.of(src1));
            fm.handleOption("--module-source-path", List.of(src1.toString()).iterator());

            Location m = fm.getLocationForModule(locn, "m");
            checkEqual("default setting",
                    fm.getLocationAsPaths(m), src1.resolve("m"));

            Path override1 = Files.createDirectories(base.resolve("override1"));
            tb.writeJavaFiles(override1, "module m { }");
            fm.setLocationForModule(locn, "m", List.of(override1));
            checkEqual("override setting 1",
                    fm.getLocationAsPaths(m), override1);

            Path override2 = Files.createDirectories(base.resolve("override2"));
            tb.writeJavaFiles(override2, "module m { }");
            fm.setLocationFromPaths(m, List.of(override2));
            checkEqual("override setting 2",
                    fm.getLocationAsPaths(m), override2);

            Path src2 = Files.createDirectories(base.resolve("src2"));
            Path src2_m = src2.resolve("m");
            tb.writeJavaFiles(src2_m, "module m { }");
//            fm.setLocationFromPaths(locn, List.of(src2));
            fm.handleOption("--module-source-path", List.of(src2.toString()).iterator());

            checkEqual("updated setting",
                    fm.getLocationAsPaths(m), src2.resolve("m"));
        }
    }
项目:openjdk-jdk10    文件:Locations.java   
void setLocationForModule(Location location, String moduleName,
        Iterable<? extends Path> files) throws IOException {
    LocationHandler h = getHandler(location);
    if (h == null) {
        if (location.isOutputLocation()) {
            h = new OutputLocationHandler(location);
        } else {
            h = new ModulePathLocationHandler(location);
        }
        handlersForLocation.put(location, h);
    }
    h.setPathsForModule(moduleName, files);
}
项目:openjdk-jdk10    文件:T6420409.java   
static void test(Iterable<? extends File> path, File file, Location location) {
    Iterator<? extends File> it = path.iterator();
    if (!it.next().equals(file))
        throw new AssertionError(file + " not in " + location);
    if (it.hasNext())
        throw new AssertionError("Unexpected element in "  + location + " : " + it.next());
    System.err.format((Locale)null, "OK: %s: %s%n", location, path);
}
项目:incubator-netbeans    文件:FileManagerTransaction.java   
@Override
@NonNull
Iterable<JavaFileObject> filter(
        @NonNull final Location location,
        @NonNull final String packageName,
        @NonNull final Iterable<JavaFileObject> files) {
    return files;
}
项目:openjdk-jdk10    文件:ModuleAndPackageLocations.java   
@SafeVarargs
private void assertLocations(Iterable<Set<Location>> locations, Set<String>... expected) {
    List<Set<String>> actual =
            StreamSupport.stream(locations.spliterator(), true)
                         .map(locs -> locs.stream()
                                          .map(l -> toString(l))
                                          .collect(Collectors.toSet()))
                         .collect(Collectors.toList());

    if (!Objects.equals(actual, Arrays.asList(expected))) {
        throw new AssertionError("Unexpected output: " + actual);
    }
}
项目:openjdk-jdk10    文件:StandardDocFileFactory.java   
/**
 * Open an output stream for the file.
 * The file must have been created with a location of
 * {@link DocumentationTool.Location#DOCUMENTATION_OUTPUT} and a corresponding relative path.
 *
 * @throws DocFileIOException if there is a problem while opening stream
 */
@Override
public OutputStream openOutputStream() throws DocFileIOException {
    if (location != DocumentationTool.Location.DOCUMENTATION_OUTPUT)
        throw new IllegalStateException();

    try {
        OutputStream out = getFileObjectForOutput(path).openOutputStream();
        return new BufferedOutputStream(out);
    } catch (IOException e) {
        throw new DocFileIOException(this, DocFileIOException.Mode.WRITE, e);
    }
}
项目:incubator-netbeans    文件:ModuleLocation.java   
@NonNull
static ModuleLocation cast(@NonNull final Location l) {
    if (!isInstance(l)) {
        throw new IllegalArgumentException (String.valueOf(l));
    }
    return (ModuleLocation) l;
}
项目:incubator-netbeans    文件:ModuleLocation.java   
@NonNull
static WithExcludes cast(@NonNull final Location l) {
    if (!isInstance(l)) {
        throw new IllegalArgumentException (String.valueOf(l));
    }
    return (WithExcludes) l;
}
项目:incubator-netbeans    文件:ModuleLocation.java   
@NonNull
static WithExcludes createExcludes(
        @NonNull final Location base,
        @NonNull final Collection<? extends ClassPath.Entry> moduleEntries,
        @NonNull final String moduleName) {
    return new WithExcludes(
            base,
            moduleName,
            moduleEntries);
}
项目:incubator-netbeans    文件:WriteBackTransaction.java   
@NonNull
private Collection<File> listDir(
        @NonNull final Location location,
        @NonNull final String dir) {
    final Map<String, Map<File, CachedFileObject>> cache = getCacheLine(location, true);
    Map<File, CachedFileObject> content = cache.get(dir);
    return content == null ? Collections.<File>emptyList() : content.keySet();
}
项目:openjdk-jdk10    文件:SourceCodeAnalysisImpl.java   
private void appendPaths(MemoryFileManager fm, Location loc, Collection<Path> paths) {
    Iterable<? extends Path> locationPaths = fm.getLocationAsPaths(loc);
    if (locationPaths == null)
        return ;
    for (Path path : locationPaths) {
        if (".".equals(path.toString())) {
            //skip CWD
            continue;
        }

        paths.add(path);
    }
}
项目:incubator-netbeans    文件:WriteBackTransaction.java   
private void addFile(
    @NonNull final Location location,
    @NonNull final String packageName,
    @NonNull final CachedFileObject fo) {
    LOG.log(Level.FINE, "File added to cache:{0}:{1}", new Object[] { fo.getFile(), root });
    // check whether the softref has been freed:
    final Map<String, Map<File, CachedFileObject>> cache = getCacheLine(location, false);
    Map<File, CachedFileObject> dirContent = cache.get(packageName);
    if (dirContent == null) {
        dirContent = new HashMap<File, CachedFileObject>();
        cache.put(packageName, dirContent);
    }
    dirContent.put(toFile(fo), fo);
}
项目:openjdk-jdk10    文件:SetLocationForModule.java   
@Test
public void testOutput(Path base) throws IOException {
    try (StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null)) {
        Location locn = StandardLocation.CLASS_OUTPUT;

        Path out1 = Files.createDirectories(base.resolve("out1"));
        fm.setLocationFromPaths(locn, List.of(out1));

        Location m = fm.getLocationForModule(locn, "m");
        checkEqual("default setting",
                fm.getLocationAsPaths(m), out1.resolve("m"));

        Path override1 = Files.createDirectories(base.resolve("override1"));
        fm.setLocationForModule(locn, "m", List.of(override1));
        checkEqual("override setting 1",
                fm.getLocationAsPaths(m), override1);

        Path override2 = Files.createDirectories(base.resolve("override2"));
        fm.setLocationFromPaths(m, List.of(override2));
        checkEqual("override setting 2",
                fm.getLocationAsPaths(m), override2);

        Path out2 = Files.createDirectories(base.resolve("out2"));
        fm.setLocationFromPaths(locn, List.of(out2));

        checkEqual("updated setting",
                fm.getLocationAsPaths(m), out2.resolve("m"));
    }
}
项目:javaide    文件:JavacFiler.java   
private void locationCheck(Location location) {
    if (location instanceof StandardLocation) {
        StandardLocation stdLoc = (StandardLocation) location;
        if (!stdLoc.isOutputLocation())
            throw new IllegalArgumentException("Resource creation not supported in location " +
                                               stdLoc);
    }
}