当前位置: 首页>>代码示例>>Java>>正文


Java StandardLocation.UPGRADE_MODULE_PATH属性代码示例

本文整理汇总了Java中javax.tools.StandardLocation.UPGRADE_MODULE_PATH属性的典型用法代码示例。如果您正苦于以下问题:Java StandardLocation.UPGRADE_MODULE_PATH属性的具体用法?Java StandardLocation.UPGRADE_MODULE_PATH怎么用?Java StandardLocation.UPGRADE_MODULE_PATH使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在javax.tools.StandardLocation的用法示例。


在下文中一共展示了StandardLocation.UPGRADE_MODULE_PATH属性的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: findModule

private Location findModule(String moduleName) throws IOException {
    Location[] locns = {
        StandardLocation.UPGRADE_MODULE_PATH,
        StandardLocation.SYSTEM_MODULES,
        StandardLocation.MODULE_PATH
    };
    for (Location segment: locns) {
        for (Set<Location> set: fileManager.listLocationsForModules(segment)) {
            Location result = null;
            for (Location l: set) {
                String name = fileManager.inferModuleName(l);
                if (name.equals(moduleName)) {
                    if (result == null)
                        result = l;
                    else
                        throw new IOException("multiple definitions found for " + moduleName);
                }
            }
            if (result != null)
                return result;
        }
    }
    return null;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:24,代码来源:JavapTask.java

示例2: initHandlers

void initHandlers() {
    handlersForLocation = new HashMap<>();
    handlersForOption = new EnumMap<>(Option.class);

    BasicLocationHandler[] handlers = {
        new BootClassPathLocationHandler(),
        new ClassPathLocationHandler(),
        new SimpleLocationHandler(StandardLocation.SOURCE_PATH, Option.SOURCE_PATH),
        new SimpleLocationHandler(StandardLocation.ANNOTATION_PROCESSOR_PATH, Option.PROCESSOR_PATH),
        new SimpleLocationHandler(StandardLocation.ANNOTATION_PROCESSOR_MODULE_PATH, Option.PROCESSOR_MODULE_PATH),
        new OutputLocationHandler(StandardLocation.CLASS_OUTPUT, Option.D),
        new OutputLocationHandler(StandardLocation.SOURCE_OUTPUT, Option.S),
        new OutputLocationHandler(StandardLocation.NATIVE_HEADER_OUTPUT, Option.H),
        new ModuleSourcePathLocationHandler(),
        new PatchModulesLocationHandler(),
        new ModulePathLocationHandler(StandardLocation.UPGRADE_MODULE_PATH, Option.UPGRADE_MODULE_PATH),
        new ModulePathLocationHandler(StandardLocation.MODULE_PATH, Option.MODULE_PATH),
        new SystemModulesLocationHandler(),
    };

    for (BasicLocationHandler h : handlers) {
        handlersForLocation.put(h.location, h);
        for (Option o : h.options) {
            handlersForOption.put(o, h);
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:27,代码来源:Locations.java

示例3: scanModulePath

private List<ModuleSymbol> scanModulePath(ModuleSymbol toFind) {
    ListBuffer<ModuleSymbol> results = new ListBuffer<>();
    Map<Name, Location> namesInSet = new HashMap<>();
    boolean multiModuleMode = fileManager.hasLocation(StandardLocation.MODULE_SOURCE_PATH);
    while (moduleLocationIterator.hasNext()) {
        Set<Location> locns = (moduleLocationIterator.next());
        namesInSet.clear();
        for (Location l: locns) {
            try {
                Name n = names.fromString(fileManager.inferModuleName(l));
                if (namesInSet.put(n, l) == null) {
                    ModuleSymbol msym = syms.enterModule(n);
                    if (msym.sourceLocation != null || msym.classLocation != null) {
                        // module has already been found, so ignore this instance
                        continue;
                    }
                    if (fileManager.hasLocation(StandardLocation.PATCH_MODULE_PATH) &&
                        msym.patchLocation == null) {
                        msym.patchLocation =
                                fileManager.getLocationForModule(StandardLocation.PATCH_MODULE_PATH,
                                                                 msym.name.toString());
                        if (msym.patchLocation != null &&
                            multiModuleMode &&
                            fileManager.hasLocation(StandardLocation.CLASS_OUTPUT)) {
                            msym.patchOutputLocation =
                                    fileManager.getLocationForModule(StandardLocation.CLASS_OUTPUT,
                                                                     msym.name.toString());
                        }
                    }
                    if (moduleLocationIterator.outer == StandardLocation.MODULE_SOURCE_PATH) {
                        msym.sourceLocation = l;
                        if (fileManager.hasLocation(StandardLocation.CLASS_OUTPUT)) {
                            msym.classLocation =
                                    fileManager.getLocationForModule(StandardLocation.CLASS_OUTPUT,
                                                                     msym.name.toString());
                        }
                    } else {
                        msym.classLocation = l;
                    }
                    if (moduleLocationIterator.outer == StandardLocation.SYSTEM_MODULES ||
                        moduleLocationIterator.outer == StandardLocation.UPGRADE_MODULE_PATH) {
                        msym.flags_field |= Flags.SYSTEM_MODULE;
                    }
                    if (toFind == null ||
                        (toFind == msym && (msym.sourceLocation != null || msym.classLocation != null))) {
                        // Note: cannot return msym directly, because we must finish
                        // processing this set first
                        results.add(msym);
                    }
                } else {
                    log.error(Errors.DuplicateModuleOnPath(
                            getDescription(moduleLocationIterator.outer), n));
                }
            } catch (IOException e) {
                // skip location for now?  log error?
            }
        }
        if (toFind != null && results.nonEmpty())
            return results.toList();
    }

    return results.toList();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:63,代码来源:ModuleFinder.java


注:本文中的javax.tools.StandardLocation.UPGRADE_MODULE_PATH属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。