Package sootup.core.frontend
Interface SootClassSource
- All Known Implementing Classes:
AsmAnnotationClassSource
,DexClassSource
,JavaAnnotationSootClassSource
,JavaSootClassSource
,OverridingJavaClassSource
public interface SootClassSource
SootClassSource
represents a Compilation Unit (Interpretation Unit for interpreted
languages). e.g. its connecting a file with source(code) to a Signature
that a View
can resolve. Basic class
for retrieving information that is needed to build a SootClass
.- Author:
- Manuel Benz created on 22.05.18, Ben Hermann, Linghui Luo
-
Method Summary
Modifier and TypeMethodDescriptionbuildClass
(@NonNull SourceType sourceType) @NonNull Collection<? extends SootField>
Reads from the source to retrieve its fields.Reads from the source to retrieve its directly implemented interfaces.@NonNull Collection<? extends SootMethod>
Reads from the source to retrieve its methods.@NonNull Set<ClassModifier>
Reads from the source to retrieve its modifiers.Reads from the source to retrieve its outer class, if this is an inner class.@NonNull Position
Reads from the source to retrieve its position in the source code.Reads from the source to retrieve its superclass, if present.
-
Method Details
-
buildClass
- Parameters:
sourceType
- instantiates the Subclass of SootClassSource to create a *SootClass- Returns:
- a *SootClass
-
getClassType
ClassType getClassType() -
getAnalysisInputLocation
AnalysisInputLocation getAnalysisInputLocation() -
getSourcePath
Path getSourcePath() -
resolveMethods
Reads from the source to retrieve its methods. This may be an expensive operation.- Throws:
ResolveException
-
resolveFields
Reads from the source to retrieve its fields. This may be an expensive operation.- Throws:
ResolveException
-
resolveModifiers
@NonNull Set<ClassModifier> resolveModifiers()Reads from the source to retrieve its modifiers. This may be an expensive operation. -
resolveInterfaces
Reads from the source to retrieve its directly implemented interfaces. This may be an expensive operation. -
resolveSuperclass
Reads from the source to retrieve its superclass, if present. This may be an expensive operation. -
resolveOuterClass
Reads from the source to retrieve its outer class, if this is an inner class. This may be an expensive operation.- Returns:
-
resolvePosition
@NonNull Position resolvePosition()Reads from the source to retrieve its position in the source code. This may be an expensive operation.
-