public class AccessPathFactory extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
AccessPathFactory.BasePair
Specialized pair class for field bases
|
| 限定符和类型 | 字段和说明 |
|---|---|
protected static org.slf4j.Logger |
logger |
| 构造器和说明 |
|---|
AccessPathFactory(InfoflowConfiguration config)
Creates a new instance of the
AccessPathFactory class |
| 限定符和类型 | 方法和说明 |
|---|---|
AccessPath |
appendFields(AccessPath original,
soot.SootField[] apFields,
soot.Type[] apFieldTypes,
boolean taintSubFields)
Appends additional fields to the given access path
|
AccessPath |
copyWithNewValue(AccessPath original,
soot.Value val)
Copies the given access path with a new base value, but retains the base type
|
AccessPath |
copyWithNewValue(AccessPath original,
soot.Value val,
soot.Type newType,
boolean cutFirstField)
value val gets new base, fields are preserved.
|
AccessPath |
copyWithNewValue(AccessPath original,
soot.Value val,
soot.Type newType,
boolean cutFirstField,
boolean reduceBases)
value val gets new base, fields are preserved.
|
AccessPath |
copyWithNewValue(AccessPath original,
soot.Value val,
soot.Type newType,
boolean cutFirstField,
boolean reduceBases,
AccessPath.ArrayTaintType arrayTaintType)
value val gets new base, fields are preserved.
|
AccessPath |
createAccessPath(soot.Value val,
boolean taintSubFields) |
AccessPath |
createAccessPath(soot.Value val,
soot.SootField[] appendingFields,
boolean taintSubFields) |
AccessPath |
createAccessPath(soot.Value val,
soot.SootField[] appendingFields,
soot.Type valType,
soot.Type[] appendingFieldTypes,
boolean taintSubFields,
boolean cutFirstField,
boolean reduceBases,
AccessPath.ArrayTaintType arrayTaintType) |
AccessPath |
createAccessPath(soot.Value val,
soot.SootField[] appendingFields,
soot.Type valType,
soot.Type[] appendingFieldTypes,
boolean taintSubFields,
boolean cutFirstField,
boolean reduceBases,
AccessPath.ArrayTaintType arrayTaintType,
boolean canHaveImmutableAliases) |
AccessPath |
createAccessPath(soot.Value val,
soot.Type valType,
boolean taintSubFields,
AccessPath.ArrayTaintType arrayTaintType) |
Collection<AccessPathFactory.BasePair> |
getBaseForType(soot.Type tp) |
AccessPath |
merge(AccessPath ap1,
AccessPath ap2)
Merges the two given access paths , i.e., adds the fields of ap2 to ap1.
|
public AccessPathFactory(InfoflowConfiguration config)
AccessPathFactory classconfig - The FlowDroid configuration objectpublic AccessPath createAccessPath(soot.Value val, boolean taintSubFields)
public AccessPath createAccessPath(soot.Value val, soot.Type valType, boolean taintSubFields, AccessPath.ArrayTaintType arrayTaintType)
public AccessPath createAccessPath(soot.Value val, soot.SootField[] appendingFields, boolean taintSubFields)
public AccessPath createAccessPath(soot.Value val, soot.SootField[] appendingFields, soot.Type valType, soot.Type[] appendingFieldTypes, boolean taintSubFields, boolean cutFirstField, boolean reduceBases, AccessPath.ArrayTaintType arrayTaintType)
public AccessPath createAccessPath(soot.Value val, soot.SootField[] appendingFields, soot.Type valType, soot.Type[] appendingFieldTypes, boolean taintSubFields, boolean cutFirstField, boolean reduceBases, AccessPath.ArrayTaintType arrayTaintType, boolean canHaveImmutableAliases)
public Collection<AccessPathFactory.BasePair> getBaseForType(soot.Type tp)
public AccessPath copyWithNewValue(AccessPath original, soot.Value val)
original - The original access pathval - The new valuepublic AccessPath copyWithNewValue(AccessPath original, soot.Value val, soot.Type newType, boolean cutFirstField)
original - The original access pathval - The new base valuepublic AccessPath copyWithNewValue(AccessPath original, soot.Value val, soot.Type newType, boolean cutFirstField, boolean reduceBases)
original - The original access pathval - The new base valuereduceBases - True if circular types shall be reduced to basespublic AccessPath copyWithNewValue(AccessPath original, soot.Value val, soot.Type newType, boolean cutFirstField, boolean reduceBases, AccessPath.ArrayTaintType arrayTaintType)
original - The original access pathval - The new base valuereduceBases - True if circular types shall be reduced to basesarrayTaintType - The way a tainted array shall be handledpublic AccessPath merge(AccessPath ap1, AccessPath ap2)
ap1 - The access path to which to append the fieldsap2 - The access path whose fields to append to ap1public AccessPath appendFields(AccessPath original, soot.SootField[] apFields, soot.Type[] apFieldTypes, boolean taintSubFields)
original - The original access path to which to append the fieldsapFields - The fields to appendapFieldTypes - The types of the fields to appendtaintSubFields - True if the new access path shall taint all objects
reachable through it, false if it shall only point to
precisely one objectCopyright © 2022 Fraunhofer SIT. All rights reserved.