public class PedanticThrowAnalysis extends AbstractThrowAnalysis
ThrowAnalysis that says that every unit can throw every possible exception type. Strictly speaking, this is
correct, since the deprecated Thread.stop(Throwable) method allows one thread to cause any
Throwable it wants to be thrown in another thread, meaning that all Throwables may arrive asynchronously
from the perspective of the victim thread.| Constructor and Description |
|---|
PedanticThrowAnalysis(Singletons.Global g)
Constructs a
PedanticThrowAnalysis for inclusion in Soot's global variable manager, G. |
| Modifier and Type | Method and Description |
|---|---|
ThrowableSet |
mightThrow(Unit u)
Returns the set of all
Throwables as the set of types that the specified unit might throw, regardless of
the unit's identity. |
ThrowableSet |
mightThrowImplicitly(ThrowInst t)
Returns the set of all
Throwables as the set of types that a throw instruction may throw
implicitly, that is, the possible types of errors which might arise in the course of executing the throw
instruction, rather than the type of the throw's operand. |
ThrowableSet |
mightThrowImplicitly(ThrowStmt t)
Returns the set of all
Throwables as the set of types that a throw statement may throw
implicitly, that is, the possible types of errors which might arise in the course of executing the throw
statement, rather than the type of the throw's operand. |
static PedanticThrowAnalysis |
v()
Returns the single instance of
PedanticThrowAnalysis. |
mightThrowExplicitly, mightThrowExplicitlypublic PedanticThrowAnalysis(Singletons.Global g)
PedanticThrowAnalysis for inclusion in Soot's global variable manager, G.g - guarantees that the constructor may only be called from Singletons.public static PedanticThrowAnalysis v()
PedanticThrowAnalysis.PedanticThrowAnalysis.public ThrowableSet mightThrow(Unit u)
Throwables as the set of types that the specified unit might throw, regardless of
the unit's identity.mightThrow in interface ThrowAnalysismightThrow in class AbstractThrowAnalysisu - Unit whose exceptions are to be returned.Throwables.public ThrowableSet mightThrowImplicitly(ThrowInst t)
Throwables as the set of types that a throw instruction may throw
implicitly, that is, the possible types of errors which might arise in the course of executing the throw
instruction, rather than the type of the throw's operand.mightThrowImplicitly in interface ThrowAnalysismightThrowImplicitly in class AbstractThrowAnalysist - the ThrowInst whose exceptions are to be returned.Throwables.public ThrowableSet mightThrowImplicitly(ThrowStmt t)
Throwables as the set of types that a throw statement may throw
implicitly, that is, the possible types of errors which might arise in the course of executing the throw
statement, rather than the type of the throw's operand.mightThrowImplicitly in interface ThrowAnalysismightThrowImplicitly in class AbstractThrowAnalysist - the ThrowStmt whose exceptions are to be returned.Throwables.Copyright © 2020 Soot OSS. All rights reserved.