Class MultiReleaseJarAnalysisInputLocation
java.lang.Object
sootup.java.bytecode.frontend.inputlocation.PathBasedAnalysisInputLocation
sootup.java.bytecode.frontend.inputlocation.ArchiveBasedAnalysisInputLocation
sootup.java.bytecode.frontend.inputlocation.MultiReleaseJarAnalysisInputLocation
- All Implemented Interfaces:
AnalysisInputLocation
- Direct Known Subclasses:
ModuleMultiReleaseJarAnalysisInputLocation
If the user wants to analyze a Multi-Release Jar, they have to specify the language level to
analyze explicitly. if there is no match for the given language level, the default location
inside the jar will be used.
see JEP 238
-
Nested Class Summary
Nested classes/interfaces inherited from class sootup.java.bytecode.frontend.inputlocation.PathBasedAnalysisInputLocation
PathBasedAnalysisInputLocation.ClassFileBasedAnalysisInputLocation
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final Integer
protected final Map<Integer,
AnalysisInputLocation> Fields inherited from class sootup.java.bytecode.frontend.inputlocation.ArchiveBasedAnalysisInputLocation
fileSystemCache
Fields inherited from class sootup.java.bytecode.frontend.inputlocation.PathBasedAnalysisInputLocation
ignoredPaths, path, sourceType
-
Constructor Summary
ModifierConstructorDescriptionMultiReleaseJarAnalysisInputLocation
(Path path, int version) MultiReleaseJarAnalysisInputLocation
(Path path, SourceType srcType, int version) MultiReleaseJarAnalysisInputLocation
(Path path, SourceType srcType, int version, List<BodyInterceptor> bodyInterceptors) protected
MultiReleaseJarAnalysisInputLocation
(Path path, SourceType srcType, int version, List<BodyInterceptor> bodyInterceptors, boolean isMultiRelease) -
Method Summary
Modifier and TypeMethodDescriptionstatic AnalysisInputLocation
create
(Path path, SourceType srcType, int version, List<BodyInterceptor> bodyInterceptors) protected AnalysisInputLocation
createAnalysisInputLocation
(Path archiveRoot, SourceType sourceType, List<BodyInterceptor> bodyInterceptors) boolean
getClassSource
(ClassType type, View view) Create or find a class source for a given type.getClassSources
(View view) Scan the input location and create ClassSources for every compilation / interpretation unit.getLanguageVersions
(Path path) lists all versions from the version directories inside the META-INF/ directory - excluding the default implemention versionint
int
hashCode()
static boolean
isMultiReleaseJar
(Path path) Methods inherited from class sootup.java.bytecode.frontend.inputlocation.PathBasedAnalysisInputLocation
create, create, create, fromPath, getClassSourceInternal, getSingleClass, getSourceType
-
Field Details
-
DEFAULT_VERSION
-
inputLocations
-
-
Constructor Details
-
MultiReleaseJarAnalysisInputLocation
-
MultiReleaseJarAnalysisInputLocation
public MultiReleaseJarAnalysisInputLocation(@Nonnull Path path, @Nonnull SourceType srcType, int version) -
MultiReleaseJarAnalysisInputLocation
public MultiReleaseJarAnalysisInputLocation(@Nonnull Path path, @Nonnull SourceType srcType, int version, @Nonnull List<BodyInterceptor> bodyInterceptors) -
MultiReleaseJarAnalysisInputLocation
protected MultiReleaseJarAnalysisInputLocation(@Nonnull Path path, @Nonnull SourceType srcType, int version, @Nonnull List<BodyInterceptor> bodyInterceptors, boolean isMultiRelease)
-
-
Method Details
-
create
public static AnalysisInputLocation create(@Nonnull Path path, @Nonnull SourceType srcType, int version, List<BodyInterceptor> bodyInterceptors) -
createAnalysisInputLocation
protected AnalysisInputLocation createAnalysisInputLocation(Path archiveRoot, SourceType sourceType, List<BodyInterceptor> bodyInterceptors) -
getClassSource
@Nonnull public Optional<JavaSootClassSource> getClassSource(@Nonnull ClassType type, @Nonnull View view) Description copied from interface:AnalysisInputLocation
Create or find a class source for a given type.- Specified by:
getClassSource
in interfaceAnalysisInputLocation
- Overrides:
getClassSource
in classArchiveBasedAnalysisInputLocation
- Parameters:
type
- The type of the class to be found.- Returns:
- The source entry for that class.
-
getClassSources
Description copied from interface:AnalysisInputLocation
Scan the input location and create ClassSources for every compilation / interpretation unit.- Specified by:
getClassSources
in interfaceAnalysisInputLocation
- Overrides:
getClassSources
in classArchiveBasedAnalysisInputLocation
- Returns:
- The source entries.
-
getVersion
-
isMultiReleaseJar
-
getBodyInterceptors
- Specified by:
getBodyInterceptors
in interfaceAnalysisInputLocation
- Overrides:
getBodyInterceptors
in classPathBasedAnalysisInputLocation
-
getLanguageVersions
lists all versions from the version directories inside the META-INF/ directory - excluding the default implemention version -
equals
-
hashCode
public int hashCode()
-