| Package | Description |
|---|---|
| soot.dexpler | |
| 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 |
|---|---|
protected void |
DexAnnotation.addAnnotation(String classType,
List<Tag> tags,
VisibilityAnnotationTag[] vatg,
org.jf.dexlib2.iface.Annotation a) |
| Modifier and Type | Method and Description |
|---|---|
Tag |
TaggedInstruction.getTag() |
| Modifier and Type | Method and Description |
|---|---|
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) |
| Modifier and Type | Method and Description |
|---|---|
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) |
boolean |
FieldTagAggregator.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.
|
| Modifier and Type | Method and Description |
|---|---|
void |
FieldTagAggregator.considerTag(Tag t,
Unit u,
LinkedList<Tag> tags,
LinkedList<Unit> units) |
| Modifier and Type | Method and Description |
|---|---|
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) |
boolean |
ArrayNullTagAggregator.wantTag(Tag t) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
| 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 |
ArtificialEntityTag
Used to tag entities (class, method, variable, etc.) as artificially generated by Soot itself,
i.e.
|
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 |
VisibilityLocalVariableAnnotationTag
Represents the visibility of an annotation attribute attached to method local variable.
|
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> |
AbstractHost.mTagList |
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 |
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.
|
| 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 |
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 |
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.
|
String |
TagPrinter.print(String aClassName,
String aFieldOrMtdSignature,
Tag aTag) |
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 |
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.
|
| Modifier and Type | Method and Description |
|---|---|
ArrayList<Tag> |
JavaAttribute.tags() |
| Modifier and Type | Method and Description |
|---|---|
void |
Attribute.addTag(Tag t) |
void |
JavaAttribute.addTag(Tag t) |
Copyright © 2020 Soot OSS. All rights reserved.