public class ModulePathSourceLocator extends SourceLocator
SourceLocator.ClassSourceType
Modifier and Type | Field and Description |
---|---|
static String |
DUMMY_CLASSPATH_JDK9_FS |
additionalClassLoaders, archivePathsToEntriesCache, classPath, classProviders, java9Mode, pathToSourceType
Constructor and Description |
---|
ModulePathSourceLocator(Singletons.Global g) |
Modifier and Type | Method and Description |
---|---|
void |
additionalClassLoader(ClassLoader c) |
Set<String> |
classesInDynamicPackage(String str) |
List<String> |
classPath() |
static List<String> |
explodeModulePath(String classPath) |
List<String> |
getClassesUnder(String aPath)
For backward compatibility returns classes in the form of module:classname
|
ClassSource |
getClassSource(String className)
Given a class name, uses the soot-class-path to return a ClassSource for the given class.
|
ClassSource |
getClassSource(String className,
com.google.common.base.Optional<String> moduleName)
Given a class name, uses the soot-module-path to return a ClassSource for the given class.
|
protected SourceLocator.ClassSourceType |
getClassSourceType(String path) |
Map<String,List<String>> |
getClassUnderModulePath(String aPath)
Scan the given module path entry.
|
static Path |
getRootModulesPathOfJDK() |
void |
invalidateClassPath() |
protected FoundFile |
lookupInArchive(String archivePath,
String fileName)
Looks up classes in an archive file
|
FoundFile |
lookupInClassPath(String fileName)
Searches for a file with the given name in the exploded modulePath.
|
protected FoundFile |
lookupInDir(String dir,
String fileName) |
FoundFile |
lookUpInModulePath(String fileName) |
FoundFile |
lookUpInVirtualFileSystem(String archivePath,
String fileName)
Looks up classes in Java 9's virtual filesystem jrt:/
|
protected void |
setupClassProviders() |
List<String> |
sourcePath() |
static ModulePathSourceLocator |
v() |
clearDexClassPathExtensions, dexClassIndex, ensureDirectoryExists, explodeClassPath, extendClassPath, getClassesUnder, getDexClassPathExtensions, getExtensionFor, getFileNameFor, getOutputDir, getOutputJarName, getSourceForClass, setClassProviders, setDexClassIndex
public static final String DUMMY_CLASSPATH_JDK9_FS
public ModulePathSourceLocator(Singletons.Global g)
public static ModulePathSourceLocator v()
public ClassSource getClassSource(String className)
SourceLocator
getClassSource
in class SourceLocator
public ClassSource getClassSource(String className, com.google.common.base.Optional<String> moduleName)
public void additionalClassLoader(ClassLoader c)
additionalClassLoader
in class SourceLocator
public List<String> classPath()
classPath
in class SourceLocator
public void invalidateClassPath()
invalidateClassPath
in class SourceLocator
public List<String> sourcePath()
sourcePath
in class SourceLocator
public List<String> getClassesUnder(String aPath)
getClassesUnder
in class SourceLocator
aPath
- where to search for classespublic Map<String,List<String>> getClassUnderModulePath(String aPath)
public static Path getRootModulesPathOfJDK()
public Set<String> classesInDynamicPackage(String str)
classesInDynamicPackage
in class SourceLocator
public FoundFile lookupInClassPath(String fileName)
lookupInClassPath
in class SourceLocator
protected SourceLocator.ClassSourceType getClassSourceType(String path)
getClassSourceType
in class SourceLocator
protected FoundFile lookupInDir(String dir, String fileName)
lookupInDir
in class SourceLocator
protected FoundFile lookupInArchive(String archivePath, String fileName)
lookupInArchive
in class SourceLocator
archivePath
- path to the zip/jarfileName
- the filename to searchpublic FoundFile lookUpInVirtualFileSystem(String archivePath, String fileName)
archivePath
- path to the filesystemfileName
- the file to searchprotected void setupClassProviders()
setupClassProviders
in class SourceLocator
Copyright © 2021 Soot OSS. All rights reserved.