Package soot.tagkit
Class TagAggregator
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.tagkit.TagAggregator
-
- Direct Known Subclasses:
ArrayNullTagAggregator,FieldTagAggregator,FirstTagAggregator,ImportantTagAggregator
public abstract class TagAggregator extends BodyTransformer
Interface to aggregate tags of units.
-
-
Constructor Summary
Constructors Constructor Description TagAggregator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract StringaggregatedName()Return name of the resulting aggregated tag.abstract voidconsiderTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)Aggregate the given tag assigned to the given unitvoidfini()Called after all tags for a method have been aggregated.protected voidinternalTransform(Body b, String phaseName, Map<String,String> options)This method is called to perform the transformation itself.abstract booleanwantTag(Tag t)Decide whether this tag should be aggregated by this aggregator.-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Method Detail
-
wantTag
public abstract boolean wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
-
considerTag
public abstract void considerTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)
Aggregate the given tag assigned to the given unit
-
aggregatedName
public abstract String aggregatedName()
Return name of the resulting aggregated tag.
-
internalTransform
protected void internalTransform(Body b, String phaseName, Map<String,String> options)
Description copied from class:BodyTransformerThis method is called to perform the transformation itself. It is declared abstract; subclasses must implement this method by making it the entry point to their actual Body transformation.- Specified by:
internalTransformin classBodyTransformer- Parameters:
b- the body on which to apply the transformationphaseName- the phasename for this transform; not typically used by implementations.options- the actual computed options; a combination of default options and Scene specified options.
-
fini
public void fini()
Called after all tags for a method have been aggregated.
-
-