Package sootup.interceptors
Class CopyPropagator
java.lang.Object
sootup.interceptors.CopyPropagator
- All Implemented Interfaces:
BodyInterceptor
The CopyPropagator performs cascaded copy propagation. If the propagator encounters situations of
the form: A: a = ...; ... B: x = a; ... C: ... = ... x; where a and x are each defined only once
(at A and B, respectively), then it can propagate immediately without checking between B and C
for redefinitions of a. In this case the propagator is global. Otherwise, if a has multiple
definitions then the propagator checks for redefinitions and propagates copies only within
extended basic blocks.
- Author:
- Zun Wang
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
interceptBody
(Body.BodyBuilder builder, View view) Takes a BodyBuilder and may apply a transformation to it, for example removing unused local variables.
-
Constructor Details
-
CopyPropagator
public CopyPropagator()
-
-
Method Details
-
interceptBody
Description copied from interface:BodyInterceptor
Takes a BodyBuilder and may apply a transformation to it, for example removing unused local variables.- Specified by:
interceptBody
in interfaceBodyInterceptor
-