Class JvmTaintSource
- java.lang.Object
-
- proguard.analysis.cpa.domain.taint.TaintSource
-
- proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
-
public class JvmTaintSource extends TaintSource
AJvmTaintSource
specifies a method which can taint any (subset) of the following: the instance, the return value, the argument objects, or static fields. ThecallMatcher
decides 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 boolean
equals(java.lang.Object obj)
int
hashCode()
java.lang.String
toString()
-
-
-
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:
equals
in classTaintSource
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classTaintSource
-
toString
public java.lang.String toString()
- Overrides:
toString
in classTaintSource
-
-