soot.tagkit
Class ImportantTagAggregator

java.lang.Object
  extended by soot.Transformer
      extended by soot.BodyTransformer
          extended by soot.tagkit.TagAggregator
              extended by soot.tagkit.ImportantTagAggregator
Direct Known Subclasses:
DependenceTagAggregator, FieldReadTagAggregator, FieldWriteTagAggregator

public abstract class ImportantTagAggregator
extends TagAggregator

A tag aggregator that associates a tag with the most important instruction that is tagged with it. An instruction is important if it contains a field or array reference, a method invocation, or an object allocation.


Field Summary
 
Fields inherited from class soot.tagkit.TagAggregator
tags, units
 
Constructor Summary
ImportantTagAggregator()
           
 
Method Summary
abstract  String aggregatedName()
          Return name of the resulting aggregated tag.
 void considerTag(Tag t, Unit u)
          Decide whether this tag should be aggregated by this aggregator.
abstract  boolean wantTag(Tag t)
          Decide whether this tag should be aggregated by this aggregator.
 
Methods inherited from class soot.tagkit.TagAggregator
fini, internalTransform
 
Methods inherited from class soot.BodyTransformer
transform, transform, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImportantTagAggregator

public ImportantTagAggregator()
Method Detail

wantTag

public abstract boolean wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.

Specified by:
wantTag in class TagAggregator

aggregatedName

public abstract String aggregatedName()
Return name of the resulting aggregated tag.

Specified by:
aggregatedName in class TagAggregator

considerTag

public void considerTag(Tag t,
                        Unit u)
Decide whether this tag should be aggregated by this aggregator.

Specified by:
considerTag in class TagAggregator