Package sootup.jimple.frontend
Class LazyJimpleMethodSource
java.lang.Object
sootup.jimple.frontend.LazyJimpleMethodSource
- All Implemented Interfaces:
BodySource
A BodySource implementation that lazily resolves method bodies from Jimple AST. Similar to
AsmMethodSource, this class stores the parsing context and only constructs the Body when
resolveBody() is called.
-
Constructor Summary
ConstructorsConstructorDescriptionLazyJimpleMethodSource(@NonNull MethodSignature methodSignature, @NonNull JimpleParser.MethodContext methodContext, @NonNull Path sourcePath, @NonNull List<BodyInterceptor> bodyInterceptors, @NonNull View view, @NonNull JimpleConverterUtil util, @NonNull ClassType declaringClass, @NonNull EnumSet<MethodModifier> methodModifiers, @NonNull List<ClassType> exceptions, @NonNull Position methodPosition) -
Method Summary
Modifier and TypeMethodDescription@NonNull MethodSignature@NonNull BodyresolveBody(@NonNull Iterable<MethodModifier> modifierIt) Returns a filled-out body for the given SootMethod.
-
Constructor Details
-
LazyJimpleMethodSource
public LazyJimpleMethodSource(@NonNull MethodSignature methodSignature, @NonNull JimpleParser.MethodContext methodContext, @NonNull Path sourcePath, @NonNull List<BodyInterceptor> bodyInterceptors, @NonNull View view, @NonNull JimpleConverterUtil util, @NonNull ClassType declaringClass, @NonNull EnumSet<MethodModifier> methodModifiers, @NonNull List<ClassType> exceptions, @NonNull Position methodPosition)
-
-
Method Details
-
getSignature
- Specified by:
getSignaturein interfaceBodySource
-
resolveBody
Description copied from interface:BodySourceReturns a filled-out body for the given SootMethod. This may be an expensive operation.- Specified by:
resolveBodyin interfaceBodySource- Parameters:
modifierIt- The collection of modifiers which are needed by BodyInterceptors to modify the body accordingly.
-
resolveAnnotationsDefaultValue
- Specified by:
resolveAnnotationsDefaultValuein interfaceBodySource- Returns:
- returns the default value of the Annotation for this method
-