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.
Field Summary |
protected java.util.LinkedList |
tags
|
protected java.util.LinkedList |
units
|
Method Summary |
abstract java.lang.String |
aggregatedName()
Return name of the resulting aggregated tag. |
abstract void |
considerTag(Tag t,
Unit u)
Aggregate the given tag assigned to the given unit |
void |
fini()
Called after all tags for a method have been aggregated. |
protected void |
internalTransform(Body b,
java.lang.String phaseName,
java.util.Map options)
This method is called to perform the transformation itself. |
abstract boolean |
wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
tags
protected java.util.LinkedList tags
units
protected java.util.LinkedList units
TagAggregator
public TagAggregator()
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)
- Aggregate the given tag assigned to the given unit
aggregatedName
public abstract java.lang.String aggregatedName()
- Return name of the resulting aggregated tag.
internalTransform
protected void internalTransform(Body b,
java.lang.String phaseName,
java.util.Map options)
- Description copied from class: BodyTransformer
- This 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.
- Overrides:
- internalTransform in class BodyTransformer
- Tags copied from class: BodyTransformer
- 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.