Package sootup.java.core
Class JavaSootClassSource
java.lang.Object
sootup.java.core.JavaSootClassSource
- All Implemented Interfaces:
SootClassSource
- Direct Known Subclasses:
DexClassSource
,JavaAnnotationSootClassSource
,OverridingJavaClassSource
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final AnalysisInputLocation
protected ClassType
protected final Path
-
Constructor Summary
ConstructorsConstructorDescriptionJavaSootClassSource
(@NonNull AnalysisInputLocation srcNamespace, @NonNull ClassType classSignature, @NonNull Path sourcePath) Creates and aSootClassSource
for a specific source file.JavaSootClassSource
(SootClassSource delegate) -
Method Summary
Modifier and TypeMethodDescription@NonNull JavaSootClass
buildClass
(@NonNull SourceType sourceType) boolean
Even if a the signature changes, the classource remains the same, e.g., if it is associated to an automatic module sint
hashCode()
protected abstract Iterable<AnnotationUsage>
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface sootup.core.frontend.SootClassSource
resolveFields, resolveInterfaces, resolveMethods, resolveModifiers, resolveOuterClass, resolvePosition, resolveSuperclass
-
Field Details
-
analysisInputLocation
-
classSignature
-
sourcePath
-
-
Constructor Details
-
JavaSootClassSource
public JavaSootClassSource(@NonNull AnalysisInputLocation srcNamespace, @NonNull ClassType classSignature, @NonNull Path sourcePath) Creates and aSootClassSource
for a specific source file. The file should be passed asPath
and can be located in an arbitraryFileSystem
. Implementations should useFiles.newInputStream(Path, OpenOption...)
(Path, OpenOption...)} to access the file.- Parameters:
srcNamespace
- TheAnalysisInputLocation
that holds the given filesourcePath
- Path to the source file of the to-be-createdSootClassSource
. The given path has to exist and requires to be handled by thisClassProvider
. Implementations might double check this if wanted.classSignature
- the signature that has been used to resolve this class
-
JavaSootClassSource
-
-
Method Details
-
resolveAnnotations
-
buildClass
- Specified by:
buildClass
in interfaceSootClassSource
- Parameters:
sourceType
- instantiates the Subclass of SootClassSource to create a *SootClass- Returns:
- a *SootClass
-
getClassType
- Specified by:
getClassType
in interfaceSootClassSource
-
getAnalysisInputLocation
- Specified by:
getAnalysisInputLocation
in interfaceSootClassSource
-
getSourcePath
- Specified by:
getSourcePath
in interfaceSootClassSource
-
equals
Even if a the signature changes, the classource remains the same, e.g., if it is associated to an automatic module s -
hashCode
public int hashCode()
-