| Package | Description |
|---|---|
| soot |
Base Soot classes, shared by different intermediate representations.
|
| soot.coffi |
Contains classes from the Coffi tool, by Clark Verbrugge.
|
| soot.javaToJimple | |
| soot.jimple |
Public classes for the Jimple intermediate representation.
|
| soot.jimple.internal |
Internal, messy, implementation-specific classes for the Jimple intermediate representation.
|
| soot.jimple.toolkits.callgraph | |
| soot.jimple.toolkits.infoflow | |
| soot.jimple.toolkits.pointer.representations | |
| soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
| soot.jimple.toolkits.typing |
Implements a typing algorithm for Jimple.
|
| soot.jimple.toolkits.typing.fast | |
| soot.jimple.toolkits.typing.integer |
| Modifier and Type | Class and Description |
|---|---|
class |
AnySubType |
class |
ArrayType
A class that models Java's array types.
|
class |
BooleanType
Soot representation of the Java built-in type 'boolean'.
|
class |
ByteType
Soot representation of the Java built-in type 'byte'.
|
class |
CharType
Soot representation of the Java built-in type 'char'.
|
class |
DoubleType
Soot representation of the Java built-in type 'double'.
|
class |
ErroneousType
Soot representation used for untypable objects.
|
class |
FloatType
Soot representation of the Java built-in type 'float'.
|
class |
IntType
Soot representation of the Java built-in type 'int'.
|
class |
LongType
Soot representation of the Java built-in type 'long'.
|
class |
NullType
Soot representation of the Java type 'null'.
|
class |
PrimType
Abstract class for Soot classes that that model Java primitive types
(ie all types except void, null, reference types, and array types)
|
class |
RefLikeType
Abstract class for Soot classes that model subtypes of java.lang.Object
(ie.
|
class |
RefType
A class that models Java's reference types.
|
class |
ShortType
Soot representation of the Java built-in type 'short'.
|
class |
StmtAddressType
Soot representation of the Java type for a statement address.
|
class |
UnknownType
Soot representation used for not-yet-typed objects.
|
class |
VoidType
Represents the Java void type.
|
| Modifier and Type | Field and Description |
|---|---|
Type |
ArrayType.baseType
baseType can be any type except for an array type, null and void
What is the base type of the array? That is, for an array of type
A[][][], how do I find out what the A is? The accepted way of
doing this has always been to look at the public field baseType
in ArrayType, ever since the very beginning of Soot.
|
| Modifier and Type | Method and Description |
|---|---|
Type |
RefType.getArrayElementType() |
abstract Type |
RefLikeType.getArrayElementType()
If I have a variable x of declared type t, what is a good
declared type for the expression ((Object[]) x)[i]? The
getArrayElementType() method in RefLikeType was introduced even
later to answer this question for all classes implementing
RefLikeType.
|
Type |
NullType.getArrayElementType() |
Type |
ArrayType.getArrayElementType()
If I have a variable x of declared type t, what is a good
declared type for the expression ((Object[]) x)[i]? The
getArrayElementType() method in RefLikeType was introduced to
answer this question for all classes implementing RefLikeType.
|
Type |
AnySubType.getArrayElementType() |
Type |
ArrayType.getElementType()
If I get an element of the array, what will be its type? That
is, if I have an array a of type A[][][], what is the type of
a[] (it's A[][])? The getElementType() method in ArrayType was
introduced to answer this question.
|
Type |
SootMethod.getParameterType(int n)
Gets the type of the nth parameter of this method.
|
Type |
SootMethodType.getReturnType()
Returns the method return type.
|
Type |
SootMethod.getReturnType()
Returns the return type of this method.
|
Type |
Value.getType()
Returns the Soot type of this Value.
|
Type |
SootField.getType() |
Type |
EquivalentValue.getType() |
Type |
UnknownType.merge(Type other,
Scene cm)
Returns the least common superclass of this type and other.
|
Type |
Type.merge(Type other,
Scene cm)
Returns the least common superclass of this type and other.
|
Type |
RefType.merge(Type other,
Scene cm)
Returns the least common superclass of this type and other.
|
Type |
SootMethodRef.parameterType(int i) |
Type |
SootMethodRef.returnType() |
static Type |
Type.toMachineType(Type t)
Converts the int-like types (short, byte, boolean and char) to IntType.
|
Type |
SootFieldRef.type() |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<Type> |
SootMethodType.getParameterTypes()
Returns the method parameter types.
|
java.util.Set<Type> |
PointsToSet.possibleTypes()
Set of all possible run-time types of objects in the set.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
FastHierarchy.canStoreType(Type child,
Type parent)
Given an object of declared type child, returns true if the object
can be stored in a variable of type parent.
|
void |
TypeSwitch.caseDefault(Type t)
Deprecated.
Replaced by defaultCase(Type)
|
boolean |
SootClass.declaresField(java.lang.String name,
Type type)
Does this class declare a field with the given name and type.
|
boolean |
SootClass.declaresMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType)
Does this class declare a method with the given name, parameter types, and return type?
|
void |
TypeSwitch.defaultCase(Type t) |
SootField |
SootClass.getField(java.lang.String name,
Type type)
Returns the field of this class with the given name and type.
|
SootMethod |
SootClass.getMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType) |
static java.lang.String |
SootMethod.getSignature(SootClass cl,
java.lang.String name,
java.util.List params,
Type returnType) |
static java.lang.String |
SootField.getSignature(SootClass cl,
java.lang.String name,
Type type) |
static java.lang.String |
SootMethod.getSubSignature(java.lang.String name,
java.util.List params,
Type returnType) |
SootFieldRef |
Scene.makeFieldRef(SootClass declaringClass,
java.lang.String name,
Type type,
boolean isStatic)
Create an unresolved reference to a field.
|
SootMethodRef |
Scene.makeMethodRef(SootClass declaringClass,
java.lang.String name,
java.util.List<Type> parameterTypes,
Type returnType,
boolean isStatic)
Create an unresolved reference to a method.
|
Type |
UnknownType.merge(Type other,
Scene cm)
Returns the least common superclass of this type and other.
|
Type |
Type.merge(Type other,
Scene cm)
Returns the least common superclass of this type and other.
|
Type |
RefType.merge(Type other,
Scene cm)
Returns the least common superclass of this type and other.
|
void |
SootMethod.setReturnType(Type t)
Sets the return type of this method.
|
void |
SootField.setType(Type t) |
void |
Local.setType(Type t)
Sets the type of the current variable.
|
static Type |
Type.toMachineType(Type t)
Converts the int-like types (short, byte, boolean and char) to IntType.
|
void |
UnitPrinter.type(Type t) |
void |
NormalUnitPrinter.type(Type t) |
abstract void |
LabeledUnitPrinter.type(Type t) |
void |
BriefUnitPrinter.type(Type t) |
abstract void |
AbstractUnitPrinter.type(Type t) |
static ArrayType |
ArrayType.v(Type baseType,
int numDimensions)
Creates an ArrayType parametrized by a given Type and dimension count.
|
| Modifier and Type | Method and Description |
|---|---|
SootMethodRef |
Scene.makeConstructorRef(SootClass declaringClass,
java.util.List<Type> parameterTypes)
Create an unresolved reference to a constructor.
|
SootMethodRef |
Scene.makeMethodRef(SootClass declaringClass,
java.lang.String name,
java.util.List<Type> parameterTypes,
Type returnType,
boolean isStatic)
Create an unresolved reference to a method.
|
| Constructor and Description |
|---|
SootField(java.lang.String name,
Type type)
Constructs a Soot field with the given name, type and no modifiers.
|
SootField(java.lang.String name,
Type type,
int modifiers)
Constructs a Soot field with the given name, type and modifiers.
|
SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType)
Constructs a SootMethod with the given name, parameter types and return type.
|
SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType,
int modifiers)
Constructs a SootMethod with the given name, parameter types, return type and modifiers.
|
SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType,
int modifiers,
java.util.List<SootClass> thrownExceptions)
Constructs a SootMethod with the given name, parameter types, return type,
and list of thrown exceptions.
|
| Modifier and Type | Class and Description |
|---|---|
class |
Double2ndHalfType |
class |
Long2ndHalfType |
class |
UnusuableType |
| Modifier and Type | Method and Description |
|---|---|
Type |
Util.jimpleTypeOfFieldDescriptor(java.lang.String descriptor) |
Type[] |
Util.jimpleTypesOfFieldOrMethodDescriptor(java.lang.String descriptor) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
UnusuableType.equals(Type otherType) |
boolean |
Long2ndHalfType.equals(Type otherType) |
boolean |
Double2ndHalfType.equals(Type otherType) |
| Modifier and Type | Field and Description |
|---|---|
java.util.Set<Type> |
IInitialResolver.Dependencies.typesToHierarchy |
java.util.Set<Type> |
IInitialResolver.Dependencies.typesToSignature |
| Modifier and Type | Method and Description |
|---|---|
Local |
LocalGenerator.generateLocal(Type type)
generates a new soot local given the type
|
| Modifier and Type | Method and Description |
|---|---|
Type |
NewArrayExpr.getBaseType() |
Type |
CastExpr.getCastType() |
Type |
InstanceOfExpr.getCheckType() |
Type |
ThisRef.getType() |
Type |
StringConstant.getType() |
Type |
StaticInvokeExpr.getType() |
Type |
StaticFieldRef.getType() |
Type |
ParameterRef.getType()
Returns the type of this ParameterRef.
|
Type |
NullConstant.getType() |
Type |
NewMultiArrayExpr.getType() |
Type |
NewExpr.getType() |
Type |
NewArrayExpr.getType() |
Type |
LongConstant.getType() |
Type |
InvokeExpr.getType() |
Type |
IntConstant.getType() |
Type |
InstanceOfExpr.getType() |
Type |
FloatConstant.getType() |
Type |
DoubleConstant.getType() |
Type |
ClassConstant.getType() |
Type |
CaughtExceptionRef.getType() |
Type |
CastExpr.getType() |
Type |
ArrayRef.getType() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
Jimple.isJavaKeywordType(Type t) |
CastExpr |
Jimple.newCastExpr(Value op1,
Type t)
Constructs a CastExpr(Immediate, Type) grammar chunk.
|
InstanceOfExpr |
Jimple.newInstanceOfExpr(Value op1,
Type t)
Constructs a InstanceOfExpr(Immediate, Type)
grammar chunk.
|
Local |
Jimple.newLocal(java.lang.String name,
Type t)
Constructs a Local with the given name and type.
|
SootMethodType |
Jimple.newMethodType(Type returnType,
java.util.List<Type> parameterTypes) |
NewArrayExpr |
Jimple.newNewArrayExpr(Type type,
Value size)
Constructs a NewArrayExpr(Type, Immediate) grammar chunk.
|
ParameterRef |
Jimple.newParameterRef(Type paramType,
int number)
Constructs a ParameterRef(SootMethod, int) grammar chunk.
|
void |
NewArrayExpr.setBaseType(Type type) |
void |
CastExpr.setCastType(Type castType) |
void |
InstanceOfExpr.setCheckType(Type checkType) |
| Modifier and Type | Method and Description |
|---|---|
SootMethodType |
Jimple.newMethodType(Type returnType,
java.util.List<Type> parameterTypes) |
| Constructor and Description |
|---|
ParameterRef(Type paramType,
int number)
Constructs a ParameterRef object of the specified type, representing the specified parameter number.
|
| Modifier and Type | Method and Description |
|---|---|
Type |
AbstractNewArrayExpr.getBaseType() |
Type |
AbstractCastExpr.getCastType() |
Type |
AbstractInstanceOfExpr.getCheckType() |
Type |
JimpleLocal.getType()
Returns the type of this local.
|
Type |
JCaughtExceptionRef.getType() |
Type |
JArrayRef.getType() |
Type |
AbstractNewMultiArrayExpr.getType() |
Type |
AbstractNewExpr.getType() |
Type |
AbstractNewArrayExpr.getType() |
Type |
AbstractNegExpr.getType() |
Type |
AbstractLengthExpr.getType() |
Type |
AbstractInvokeExpr.getType() |
Type |
AbstractIntLongBinopExpr.getType() |
Type |
AbstractIntBinopExpr.getType() |
Type |
AbstractInstanceOfExpr.getType() |
Type |
AbstractInstanceFieldRef.getType() |
Type |
AbstractFloatBinopExpr.getType() |
Type |
AbstractCastExpr.getType() |
| Modifier and Type | Method and Description |
|---|---|
void |
AbstractNewArrayExpr.setBaseType(Type type) |
void |
AbstractCastExpr.setCastType(Type castType) |
void |
AbstractInstanceOfExpr.setCheckType(Type checkType) |
void |
JimpleLocal.setType(Type t)
Sets the type of this local.
|
| Constructor and Description |
|---|
AbstractCastExpr(ValueBox opBox,
Type type) |
AbstractInstanceOfExpr(ValueBox opBox,
Type checkType) |
AbstractNewArrayExpr(Type type,
ValueBox sizeBox) |
JCastExpr(Value op,
Type type) |
JimpleLocal(java.lang.String name,
Type t)
Constructs a JimpleLocal of the given name and type.
|
JInstanceOfExpr(Value op,
Type checkType) |
JNewArrayExpr(Type type,
Value size) |
| Modifier and Type | Method and Description |
|---|---|
void |
OnFlyCallGraphBuilder.addType(Local receiver,
Context srcContext,
Type type,
Context typeContext) |
void |
VirtualCalls.resolve(Type t,
Type declaredType,
NumberedString subSig,
SootMethod container,
ChunkedQueue targets) |
void |
VirtualCalls.resolve(Type t,
Type declaredType,
Type sigType,
NumberedString subSig,
SootMethod container,
ChunkedQueue targets) |
| Modifier and Type | Method and Description |
|---|---|
Type |
AbstractDataSource.getType() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
SmartMethodInfoFlowAnalysis.ignoreThisDataType(Type type) |
protected boolean |
SimpleMethodInfoFlowAnalysis.ignoreThisDataType(Type type) |
protected boolean |
SmartMethodInfoFlowAnalysis.isNonRefType(Type type) |
protected boolean |
SimpleMethodInfoFlowAnalysis.isNonRefType(Type type) |
| Constructor and Description |
|---|
FakeJimpleLocal(java.lang.String name,
Type t,
Local realLocal)
Constructs a FakeJimpleLocal of the given name and type.
|
FakeJimpleLocal(java.lang.String name,
Type t,
Local realLocal,
java.lang.Object info) |
| Modifier and Type | Field and Description |
|---|---|
Type |
TypeConstants.CLASSCLASS |
Type |
TypeConstants.CLASSLOADERCLASS |
Type |
TypeConstants.CONSTRUCTORCLASS |
Type |
TypeConstants.FIELDCLASS |
Type |
TypeConstants.FILESYSTEMCLASS |
Type |
TypeConstants.LEASTCLASS |
Type |
TypeConstants.METHODCLASS |
Type |
TypeConstants.OBJECTCLASS |
Type |
TypeConstants.PRIVILEGEDACTIONEXCEPTION |
Type |
TypeConstants.PROCESSCLASS |
Type |
TypeConstants.STRINGCLASS |
Type |
TypeConstants.THREADCLASS |
| Modifier and Type | Method and Description |
|---|---|
Type |
GeneralConstObject.getType() |
Type |
AbstractObject.getType() |
| Constructor and Description |
|---|
GeneralConstObject(Type t,
java.lang.String n) |
| Modifier and Type | Method and Description |
|---|---|
Local |
LocalCreation.newLocal(java.lang.String prefix,
Type type)
returns a new local with the given prefix and the given type.
the returned local will automaticly added to the locals-chain. |
Local |
LocalCreation.newLocal(Type type)
returns a new local with the prefix given to the constructor (or the
default-prefix if none has been given) and the given type.
The returned local will automaticly added to the locals-chain. The local will be of the form: prefixX (where the last X is a number, so the localname is unique). |
| Modifier and Type | Method and Description |
|---|---|
soot.jimple.toolkits.typing.TypeNode |
TypeResolverBV.typeNode(Type type)
Deprecated.
|
soot.jimple.toolkits.typing.TypeNode |
TypeResolver.typeNode(Type type) |
soot.jimple.toolkits.typing.TypeNode |
ClassHierarchy.typeNode(Type type)
Get the type node for the given type.
|
soot.jimple.toolkits.typing.TypeVariableBV |
TypeResolverBV.typeVariable(Type type)
Deprecated.
Get type variable for the given type.
|
soot.jimple.toolkits.typing.TypeVariable |
TypeResolver.typeVariable(Type type)
Get type variable for the given type.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BottomType |
class |
Integer127Type |
class |
Integer1Type |
class |
Integer32767Type |
| Modifier and Type | Method and Description |
|---|---|
static Type |
AugEvalFunction.eval_(Typing tg,
Value expr,
Stmt stmt,
JimpleBody jb) |
Type |
Typing.get(Local v) |
Type |
Typing.set(Local v,
Type t) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Collection<Type> |
IEvalFunction.eval(Typing tg,
Value expr,
Stmt stmt) |
java.util.Collection<Type> |
AugEvalFunction.eval(Typing tg,
Value expr,
Stmt stmt) |
static java.util.Collection<Type> |
BytecodeHierarchy.lcas_(Type a,
Type b) |
static java.util.Collection<Type> |
AugHierarchy.lcas_(Type a,
Type b) |
java.util.Collection<Type> |
IHierarchy.lcas(Type a,
Type b) |
java.util.Collection<Type> |
BytecodeHierarchy.lcas(Type a,
Type b) |
java.util.Collection<Type> |
AugHierarchy.lcas(Type a,
Type b) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
BytecodeHierarchy.ancestor_(Type ancestor,
Type child) |
static boolean |
AugHierarchy.ancestor_(Type ancestor,
Type child) |
boolean |
IHierarchy.ancestor(Type ancestor,
Type child) |
boolean |
BytecodeHierarchy.ancestor(Type ancestor,
Type child) |
boolean |
AugHierarchy.ancestor(Type ancestor,
Type child) |
static java.util.Collection<Type> |
BytecodeHierarchy.lcas_(Type a,
Type b) |
static java.util.Collection<Type> |
AugHierarchy.lcas_(Type a,
Type b) |
java.util.Collection<Type> |
IHierarchy.lcas(Type a,
Type b) |
java.util.Collection<Type> |
BytecodeHierarchy.lcas(Type a,
Type b) |
java.util.Collection<Type> |
AugHierarchy.lcas(Type a,
Type b) |
Type |
Typing.set(Local v,
Type t) |
static boolean |
TypeResolver.typesEqual(Type a,
Type b) |
Value |
IUseVisitor.visit(Value op,
Type useType,
Stmt stmt) |
| Modifier and Type | Method and Description |
|---|---|
soot.jimple.toolkits.typing.integer.TypeNode |
ClassHierarchy.typeNode(Type type)
Get the type node for the given type.
|
soot.jimple.toolkits.typing.integer.TypeVariable |
TypeResolver.typeVariable(Type type)
Get type variable for the given type.
|
Copyright © 2012-2019 RoboVM AB. All Rights Reserved.