soot.tagkit
Class ImportantTagAggregator

java.lang.Object
  |
  +--soot.Transformer
        |
        +--soot.BodyTransformer
              |
              +--soot.tagkit.TagAggregator
                    |
                    +--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, or a method invocation.


Fields inherited from class soot.tagkit.TagAggregator
tags, units
 
Constructor Summary
ImportantTagAggregator()
           
 
Method Summary
abstract  java.lang.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.
Overrides:
wantTag in class TagAggregator

aggregatedName

public abstract java.lang.String aggregatedName()
Return name of the resulting aggregated tag.
Overrides:
aggregatedName in class TagAggregator

considerTag

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