Class ClasspathJrt
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.builder.ClasspathLocation
org.aspectj.org.eclipse.jdt.internal.core.builder.ClasspathJrt
- All Implemented Interfaces:
IModulePathEntry
,IMultiModuleEntry
- Direct Known Subclasses:
ClasspathJrtWithReleaseOption
-
Field Summary
Modifier and TypeFieldDescriptionFields inherited from class org.aspectj.org.eclipse.jdt.internal.core.builder.ClasspathLocation
accessRuleSet, annotationZipFile, externalAnnotationPath, limitModuleNames, module, patchModuleName, updates
-
Constructor Summary
ModifierConstructorDescriptionprotected
ClasspathJrt(String zipFilename, AccessRuleSet accessRuleSet, org.eclipse.core.runtime.IPath externalAnnotationPath)
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addRequired(String mod, Set<String> allModules)
void
cleanup()
boolean
findClass(char[] typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName, boolean asBinaryOnly, Predicate<String> moduleNameFilter)
findClass(String typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName)
findClass(String binaryFileName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName, boolean asBinaryOnly, Predicate<String> moduleNameFilter)
protected String
getKey()
getModule(char[] moduleName)
Get the module named name that this entry contributes to the module pathgetModuleNames(Collection<String> limitModules)
Get the names of all modules served by this entry.char[][]
getModulesDeclaringPackage(String qualifiedPackageName, String moduleName)
Answer the relevant modules that declare the given package.org.eclipse.core.runtime.IPath
boolean
hasCompilationUnit(String qualifiedPackageName, String moduleName)
Answer whether the given package has any compilation unit (.java or .class) in the given module.int
hashCode()
boolean
boolean
static void
loadModules(ClasspathJrt jrt)
static void
TEST ONLYprotected Collection<String>
selectModules(Set<String> keySet, Collection<String> limitModules)
toString()
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.builder.ClasspathLocation
areAllModuleOptionsEqual, connectAllLocationsForEEA, createAnswer, decorateWithExternalAnnotations, externalAnnotationsEquals, forBinaryFolder, forJrtSystem, forLibrary, forLibrary, forLibrary, getModule, isOutputFolder, listPackages, reset, setModule, singletonModuleNameIf
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IModulePathEntry
getModule, isAutomaticModule, listPackages, servesModule
-
Field Details
-
PackageCache
-
ModulesCache
-
-
Constructor Details
-
ClasspathJrt
protected ClasspathJrt() -
ClasspathJrt
public ClasspathJrt(String zipFilename, AccessRuleSet accessRuleSet, org.eclipse.core.runtime.IPath externalAnnotationPath)
-
-
Method Details
-
loadModules
-
getKey
-
cleanup
public void cleanup()- Overrides:
cleanup
in classClasspathLocation
-
equals
-
findClass
public NameEnvironmentAnswer findClass(String binaryFileName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName, boolean asBinaryOnly, Predicate<String> moduleNameFilter)- Specified by:
findClass
in classClasspathLocation
-
getProjectRelativePath
public org.eclipse.core.runtime.IPath getProjectRelativePath()- Specified by:
getProjectRelativePath
in classClasspathLocation
-
hashCode
public int hashCode() -
getModulesDeclaringPackage
Description copied from interface:IModulePathEntry
Answer the relevant modules that declare the given package. If moduleName is ModuleBinding.ANY then all packages are relevant, if moduleName is ModuleBinding.UNNAMED, then only packages in the unnamed module are relevant, otherwise consider only packages in the module identified by moduleName.- Specified by:
getModulesDeclaringPackage
in interfaceIModulePathEntry
- Overrides:
getModulesDeclaringPackage
in classClasspathLocation
-
hasCompilationUnit
Description copied from interface:IModulePathEntry
Answer whether the given package has any compilation unit (.java or .class) in the given module. For entries representing a single module, the module name should be checked before invoking this method.- Specified by:
hasCompilationUnit
in interfaceIModulePathEntry
- Specified by:
hasCompilationUnit
in classClasspathLocation
- Parameters:
qualifiedPackageName
- '/'-separated package namemoduleName
- if non-null only CUs attached to the given module should be considered- Returns:
- true iff a .java or .class file could be found in the given module / package.
-
isPackage
- Specified by:
isPackage
in classClasspathLocation
-
toString
-
debugPathString
- Specified by:
debugPathString
in classClasspathLocation
-
findClass
public NameEnvironmentAnswer findClass(char[] typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName, boolean asBinaryOnly, Predicate<String> moduleNameFilter)- Overrides:
findClass
in classClasspathLocation
-
hasModule
public boolean hasModule()- Overrides:
hasModule
in classClasspathLocation
-
getModule
Description copied from interface:IMultiModuleEntry
Get the module named name that this entry contributes to the module path- Specified by:
getModule
in interfaceIModulePathEntry
- Specified by:
getModule
in interfaceIMultiModuleEntry
- Parameters:
moduleName
- - The name of the module to look up- Returns:
- The module named name or null
-
getModule
-
getModuleNames
Description copied from interface:IMultiModuleEntry
Get the names of all modules served by this entry.- Specified by:
getModuleNames
in interfaceIMultiModuleEntry
- Parameters:
limitModules
- if non-null, only modules with names in this set and their transitive closure will be reported.
-
selectModules
-
addRequired
-
findClass
public NameEnvironmentAnswer findClass(String typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName)- Specified by:
findClass
in classClasspathLocation
-
resetCaches
public static void resetCaches()TEST ONLY
-