Package | Description |
---|---|
soot.dexpler.instructions | |
soot.dexpler.tags | |
soot.jimple.spark | |
soot.jimple.spark.fieldrw | |
soot.jimple.spark.pag | |
soot.jimple.toolkits.annotation.tags |
Tags and aggregators to store and combine information about array bounds and null pointer checks.
|
soot.jimple.toolkits.pointer | |
soot.tagkit |
Classes supporting classfile annotation in Soot.
|
soot.xml |
Modifier and Type | Method and Description |
---|---|
Tag |
TaggedInstruction.getTag() |
Tag |
TaggedInstruction.getTag() |
Modifier and Type | Method and Description |
---|---|
void |
TaggedInstruction.setTag(Tag t) |
void |
TaggedInstruction.setTag(Tag t) |
Modifier and Type | Class and Description |
---|---|
class |
DoubleOpTag |
class |
FloatOpTag |
class |
IntOpTag |
class |
LongOpTag |
class |
NumOpTag |
class |
ObjectOpTag |
Modifier and Type | Method and Description |
---|---|
protected void |
SparkTransformer.addTag(Host h,
Node n,
Map<Node,Tag> nodeToTag,
Tag unknown) |
protected void |
SparkTransformer.addTag(Host h,
Node n,
Map<Node,Tag> nodeToTag,
Tag unknown) |
Modifier and Type | Method and Description |
---|---|
protected void |
SparkTransformer.addTag(Host h,
Node n,
Map<Node,Tag> nodeToTag,
Tag unknown) |
protected void |
SparkTransformer.addTag(Host h,
Node n,
Map<Node,Tag> nodeToTag,
Tag unknown) |
Modifier and Type | Class and Description |
---|---|
class |
FieldReadTag
Implements a tag that holds a list of fields read by a call.
|
class |
FieldRWTag
Implements a tag that holds a list of fields read or written by a call.
|
class |
FieldWriteTag
Implements a tag that holds a list of fields read by a call.
|
Modifier and Type | Method and Description |
---|---|
void |
FieldTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
void |
FieldTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
boolean |
FieldReadTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
FieldTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
FieldWriteTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
FieldReadTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
FieldWriteTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
FieldTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
Modifier and Type | Method and Description |
---|---|
void |
FieldTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
void |
FieldTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
Modifier and Type | Method and Description |
---|---|
Map<Node,Tag> |
PAG.getNodeTags() |
Map<Node,Tag> |
PAG.getNodeTags() |
Modifier and Type | Interface and Description |
---|---|
interface |
OneByteCodeTag
A tag which is guaranteed to contain no more than 1 byte of information.
|
Modifier and Type | Class and Description |
---|---|
class |
ArrayCheckTag
Implementation of the Tag interface for array bounds checks.
|
class |
ArrayNullCheckTag
ArrayNullCheckTag combines ArrayCheckTag and NullCheckTag
into one tag.
|
class |
NullCheckTag
NullCheckTag contains the null pointer check information.
|
Modifier and Type | Method and Description |
---|---|
void |
ArrayNullTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
void |
ArrayNullTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
boolean |
ArrayNullTagAggregator.wantTag(Tag t) |
boolean |
ArrayNullTagAggregator.wantTag(Tag t) |
Modifier and Type | Method and Description |
---|---|
void |
ArrayNullTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
void |
ArrayNullTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
Modifier and Type | Class and Description |
---|---|
class |
CastCheckTag
Implements a tag that can be used to tell a VM whether a cast check can
be eliminated or not.
|
class |
DependenceGraph |
class |
DependenceTag |
Modifier and Type | Method and Description |
---|---|
boolean |
DependenceTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
DependenceTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
Modifier and Type | Interface and Description |
---|---|
interface |
Attribute
Tags that are attached to the class file, field, method, or method body
should implement this interface.
|
Modifier and Type | Class and Description |
---|---|
class |
AnnotationDefaultTag
Represents the annotation default attribute attatched method
- could have at most one annotation default each
for Java 1.5.
|
class |
AnnotationTag
Represents the annotation attribute attached to a class, method, field,
method param - they could have many annotations each
for Java 1.5.
|
class |
BytecodeOffsetTag
This class represents a tag for byte-code offset of
instructions that correspond to Jimple statements.
|
class |
CodeAttribute
A CodeAttribute object holds PC -> Tag pairs.
|
class |
ColorTag |
class |
ConstantValueTag |
class |
DebugTypeTag
Represents the signature attribute used by fields, methods and classes
for dealing with generics in Java 1.5.
|
class |
DeprecatedTag
Represents the deprecated attribute used by fields, methods and classes
|
class |
DoubleConstantValueTag |
class |
EnclosingMethodTag
Represents the enclosing method attribute attatched to anon and
inner classes to indicate the class and method it is declared in
for Java 1.5.
|
class |
EnclosingTag
Represents the synthetic attribute.
|
class |
FloatConstantValueTag |
class |
GenericAttribute
Represents a general attribute which can be attached to implementations of
Host.
|
class |
InnerClassAttribute
Represents an inner class attribute which can be attached to
implementations of Host.
|
class |
InnerClassTag |
class |
IntegerConstantValueTag |
class |
JasminAttribute
This class must be extended by Attributes that can
be emitted in Jasmin.
|
class |
JimpleLineNumberTag |
class |
KeyTag |
class |
LineNumberTag |
class |
LinkTag
Represents a tag that just has a string to be printed with the code.
|
class |
LongConstantValueTag |
class |
LoopInvariantTag
Represents a tag that just has a string to be printed with the code.
|
class |
OuterClassTag |
class |
ParamNamesTag
Represents a tag that just has a string to be printed with the code.
|
class |
PositionTag |
class |
QualifyingTag
Represents the synthetic attribute.
|
class |
SignatureTag
Represents the signature attribute used by fields, methods and classes
for dealing with generics in Java 1.5.
|
class |
SourceFileTag |
class |
SourceLineNumberTag |
class |
SourceLnNamePosTag |
class |
SourceLnPosTag |
class |
SourcePositionTag |
class |
StringConstantValueTag |
class |
StringTag
Represents a tag that just has a string to be printed with the code.
|
class |
SyntheticParamTag
Represents the synthetic attribute.
|
class |
SyntheticTag
Represents the synthetic attribute.
|
class |
ThrowCreatedByCompilerTag
Represents a tag that just has a string to be printed with the code.
|
class |
TryCatchTag |
class |
VisibilityAnnotationTag
Represents the visibility of an annotation attribute attatched
to a class, field, method or method param (only one of these each)
has one or more annotations
for Java 1.5.
|
class |
VisibilityParameterAnnotationTag
Represents the visibility of an annotation attribute attatched
to a class, field, method or method param (only one of these each)
has one or more annotations
for Java 1.5.
|
Modifier and Type | Field and Description |
---|---|
protected List<Tag> |
CodeAttribute.mTags |
protected List<Tag> |
CodeAttribute.mTags |
Modifier and Type | Method and Description |
---|---|
Tag |
AbstractHost.getTag(String aName)
get the Tag object named
aName |
Tag |
Host.getTag(String aName)
Returns the tag with the given name.
|
Tag |
AbstractHost.getTag(String aName)
get the Tag object named
aName |
Tag |
Host.getTag(String aName)
Returns the tag with the given name.
|
Tag |
TagManager.getTagFor(String tagName)
Returns the Tag class with the given name.
|
Tag |
TagManager.getTagFor(String tagName)
Returns the Tag class with the given name.
|
Modifier and Type | Method and Description |
---|---|
List<Tag> |
AbstractHost.getTags()
get the list of tags.
|
List<Tag> |
Host.getTags()
Gets a list of tags associated with the current object.
|
List<Tag> |
AbstractHost.getTags()
get the list of tags.
|
List<Tag> |
Host.getTags()
Gets a list of tags associated with the current object.
|
Modifier and Type | Method and Description |
---|---|
void |
AbstractHost.addTag(Tag t)
add tag
t to this host |
void |
Host.addTag(Tag t)
Adds a tag.
|
void |
AbstractHost.addTag(Tag t)
add tag
t to this host |
void |
Host.addTag(Tag t)
Adds a tag.
|
void |
FirstTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
void |
ImportantTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
void |
LineNumberTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
abstract void |
TagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Aggregate the given tag assigned to the given unit
|
void |
ImportantTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
void |
LineNumberTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
void |
FirstTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
abstract void |
TagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Aggregate the given tag assigned to the given unit
|
String |
StdTagPrinter.print(String aClassName,
String aFieldOrMtdSignature,
Tag aTag)
Prints out the given tag.
|
String |
TagManager.print(String aClassName,
String aFieldOrMtdSignature,
Tag aTag)
Prints the given Tag, assuming that it belongs to the given class and field or method.
|
String |
TagPrinter.print(String aClassName,
String aFieldOrMtdSignature,
Tag aTag) |
String |
TagPrinter.print(String aClassName,
String aFieldOrMtdSignature,
Tag aTag) |
String |
TagManager.print(String aClassName,
String aFieldOrMtdSignature,
Tag aTag)
Prints the given Tag, assuming that it belongs to the given class and field or method.
|
String |
StdTagPrinter.print(String aClassName,
String aFieldOrMtdSignature,
Tag aTag)
Prints out the given tag.
|
abstract boolean |
FirstTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
abstract boolean |
ImportantTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
LineNumberTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
abstract boolean |
TagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
abstract boolean |
ImportantTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
boolean |
LineNumberTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
abstract boolean |
FirstTagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
abstract boolean |
TagAggregator.wantTag(Tag t)
Decide whether this tag should be aggregated by this aggregator.
|
Modifier and Type | Method and Description |
---|---|
void |
FirstTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
void |
ImportantTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
void |
LineNumberTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
abstract void |
TagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Aggregate the given tag assigned to the given unit
|
void |
ImportantTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
void |
LineNumberTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
void |
FirstTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.
|
abstract void |
TagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units)
Aggregate the given tag assigned to the given unit
|
Constructor and Description |
---|
CodeAttribute(String name,
List<Unit> units,
List<Tag> tags)
Create an attribute object with the name and lists of unit-tag pairs.
|
CodeAttribute(String name,
List<Unit> units,
List<Tag> tags)
Create an attribute object with the name and lists of unit-tag pairs.
|
Modifier and Type | Method and Description |
---|---|
ArrayList<Tag> |
JavaAttribute.tags() |
ArrayList<Tag> |
JavaAttribute.tags() |
Modifier and Type | Method and Description |
---|---|
void |
Attribute.addTag(Tag t) |
void |
JavaAttribute.addTag(Tag t) |
void |
Attribute.addTag(Tag t) |
void |
JavaAttribute.addTag(Tag t) |