Class JvmTaintSource
- java.lang.Object
-
- proguard.analysis.cpa.domain.taint.TaintSource
-
- proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
-
public class JvmTaintSource extends TaintSource
AJvmTaintSourcespecifies a method which can taint any (subset) of the following: the instance, the return value, the argument objects, or static fields. ThecallMatcherdecides whether the call (already filtered by itsSignature) should trigger this source.
-
-
Field Summary
Fields Modifier and Type Field Description java.util.Optional<java.util.function.Predicate<Call>>callMatcher-
Fields inherited from class proguard.analysis.cpa.domain.taint.TaintSource
signature, taintsArgs, taintsGlobals, taintsReturn, taintsThis
-
-
Constructor Summary
Constructors Constructor Description JvmTaintSource(Signature signature, boolean taintsThis, boolean taintsReturn, java.util.Set<java.lang.Integer> taintsArgs, java.util.Set<java.lang.String> taintsGlobals)Create a taint source.JvmTaintSource(Signature signature, java.util.function.Predicate<Call> callMatcher, boolean taintsThis, boolean taintsReturn, java.util.Set<java.lang.Integer> taintsArgs, java.util.Set<java.lang.String> taintsGlobals)Create a taint source.JvmTaintSource(Signature signature, java.util.Optional<java.util.function.Predicate<Call>> callMatcher, boolean taintsThis, boolean taintsReturn, java.util.Set<java.lang.Integer> taintsArgs, java.util.Set<java.lang.String> taintsGlobals)Create a taint source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)inthashCode()java.lang.StringtoString()
-
-
-
Field Detail
-
callMatcher
public final java.util.Optional<java.util.function.Predicate<Call>> callMatcher
-
-
Constructor Detail
-
JvmTaintSource
public JvmTaintSource(Signature signature, java.util.function.Predicate<Call> callMatcher, boolean taintsThis, boolean taintsReturn, java.util.Set<java.lang.Integer> taintsArgs, java.util.Set<java.lang.String> taintsGlobals)
Create a taint source.- Parameters:
signature- the signature a source methodcallMatcher- whether the call matches this taint sourcetaintsThis- whether the source taints the calling instancetaintsReturn- whether the source taints its returntaintsArgs- a set of tainted argumentstaintsGlobals- a set of tainted global variables
-
JvmTaintSource
public JvmTaintSource(Signature signature, boolean taintsThis, boolean taintsReturn, java.util.Set<java.lang.Integer> taintsArgs, java.util.Set<java.lang.String> taintsGlobals)
Create a taint source.- Parameters:
signature- the signature a source methodtaintsThis- whether the source taints the calling instancetaintsReturn- whether the source taints its returntaintsArgs- a set of tainted argumentstaintsGlobals- a set of tainted global variables
-
JvmTaintSource
public JvmTaintSource(Signature signature, java.util.Optional<java.util.function.Predicate<Call>> callMatcher, boolean taintsThis, boolean taintsReturn, java.util.Set<java.lang.Integer> taintsArgs, java.util.Set<java.lang.String> taintsGlobals)
Create a taint source.- Parameters:
signature- the signature a source methodcallMatcher- an optional predicate on whether the call matches this taint sourcetaintsThis- whether the source taints the calling instancetaintsReturn- whether the source taints its returntaintsArgs- a set of tainted argumentstaintsGlobals- a set of tainted global variables
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classTaintSource
-
hashCode
public int hashCode()
- Overrides:
hashCodein classTaintSource
-
toString
public java.lang.String toString()
- Overrides:
toStringin classTaintSource
-
-