Package sootup.core.inputlocation
Interface AnalysisInputLocation
- All Known Subinterfaces:
ModuleInfoAnalysisInputLocation
- All Known Implementing Classes:
ApkAnalysisInputLocation
,ArchiveBasedAnalysisInputLocation
,ClassFileBasedAnalysisInputLocation
,DefaultRuntimeAnalysisInputLocation
,DownloadJarAnalysisInputLocation
,EagerInputLocation
,JavaClassPathAnalysisInputLocation
,JavaModulePathAnalysisInputLocation
,JimpleAnalysisInputLocation
,JimpleStringAnalysisInputLocation
,JrtFileSystemAnalysisInputLocation
,ModuleMultiReleaseJarAnalysisInputLocation
,MultiReleaseJarAnalysisInputLocation
,OTFCompileAnalysisInputLocation
,PathBasedAnalysisInputLocation
public interface AnalysisInputLocation
Public interface to an input location.
AnalysisInputLocation
s are sources for SootClass
es, e.g. Java Classpath, Android APK, JAR file, etc. The strategy to traverse
something.
getClassSource(ClassType, View)
and getClassSources(View)
should in most
cases simply call getClassSource(ClassType, View)
or getClassSources(View)
respectively with the default BodyInterceptor
s of the frontend.
- Author:
- Manuel Benz created on 22.05.18, Ben Hermann, Linghui Luo
-
Method Summary
Modifier and TypeMethodDescription@NonNull List<BodyInterceptor>
@NonNull Optional<? extends SootClassSource>
getClassSource
(@NonNull ClassType type, @NonNull View view) Create or find a class source for a given type.@NonNull Stream<? extends SootClassSource>
getClassSources
(@NonNull View view) Scan the input location and create ClassSources for every compilation / interpretation unit.@NonNull SourceType
If the AnalysisInputLocation is initialized with the SourceType then this method should return that specific SourceType.
-
Method Details
-
getClassSource
@NonNull Optional<? extends SootClassSource> getClassSource(@NonNull ClassType type, @NonNull View view) Create or find a class source for a given type.- Parameters:
type
- The type of the class to be found.- Returns:
- The source entry for that class.
-
getClassSources
Scan the input location and create ClassSources for every compilation / interpretation unit.- Returns:
- an Autocloseable resource that must be closed!
-
getSourceType
@NonNull SourceType getSourceType()If the AnalysisInputLocation is initialized with the SourceType then this method should return that specific SourceType. This is the default implementation and it returns null when no source type is specified.- Returns:
- returns null as source type
-
getBodyInterceptors
@NonNull List<BodyInterceptor> getBodyInterceptors()
-