Package soot.toolkits.exceptions
Class PedanticThrowAnalysis
- java.lang.Object
-
- soot.toolkits.exceptions.AbstractThrowAnalysis
-
- soot.toolkits.exceptions.PedanticThrowAnalysis
-
- All Implemented Interfaces:
ThrowAnalysis
public class PedanticThrowAnalysis extends AbstractThrowAnalysis
AThrowAnalysisthat says that every unit can throw every possible exception type. Strictly speaking, this is correct, since the deprecatedjava.lang.Thread#stop(Throwable)method allows one thread to cause anyThrowableit wants to be thrown in another thread, meaning that allThrowables may arrive asynchronously from the perspective of the victim thread.
-
-
Constructor Summary
Constructors Constructor Description PedanticThrowAnalysis(Singletons.Global g)Constructs aPedanticThrowAnalysisfor inclusion in Soot's global variable manager,G.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ThrowableSetmightThrow(Unit u)Returns the set of allThrowables as the set of types that the specified unit might throw, regardless of the unit's identity.ThrowableSetmightThrowImplicitly(ThrowInst t)Returns the set of allThrowables as the set of types that athrowinstruction may throw implicitly, that is, the possible types of errors which might arise in the course of executing thethrowinstruction, rather than the type of thethrow's operand.ThrowableSetmightThrowImplicitly(ThrowStmt t)Returns the set of allThrowables as the set of types that athrowstatement may throw implicitly, that is, the possible types of errors which might arise in the course of executing thethrowstatement, rather than the type of thethrow's operand.static PedanticThrowAnalysisv()Returns the single instance ofPedanticThrowAnalysis.-
Methods inherited from class soot.toolkits.exceptions.AbstractThrowAnalysis
mightThrowExplicitly, mightThrowExplicitly, mightThrowExplicitly
-
-
-
-
Constructor Detail
-
PedanticThrowAnalysis
public PedanticThrowAnalysis(Singletons.Global g)
Constructs aPedanticThrowAnalysisfor inclusion in Soot's global variable manager,G.- Parameters:
g- guarantees that the constructor may only be called fromSingletons.
-
-
Method Detail
-
v
public static PedanticThrowAnalysis v()
Returns the single instance ofPedanticThrowAnalysis.- Returns:
- Soot's
PedanticThrowAnalysis.
-
mightThrow
public ThrowableSet mightThrow(Unit u)
Returns the set of allThrowables as the set of types that the specified unit might throw, regardless of the unit's identity.- Specified by:
mightThrowin interfaceThrowAnalysis- Specified by:
mightThrowin classAbstractThrowAnalysis- Parameters:
u-Unitwhose exceptions are to be returned.- Returns:
- the set of all
Throwables.
-
mightThrowImplicitly
public ThrowableSet mightThrowImplicitly(ThrowInst t)
Returns the set of allThrowables as the set of types that athrowinstruction may throw implicitly, that is, the possible types of errors which might arise in the course of executing thethrowinstruction, rather than the type of thethrow's operand.- Specified by:
mightThrowImplicitlyin interfaceThrowAnalysis- Specified by:
mightThrowImplicitlyin classAbstractThrowAnalysis- Parameters:
t- theThrowInstwhose exceptions are to be returned.- Returns:
- the set of all
Throwables.
-
mightThrowImplicitly
public ThrowableSet mightThrowImplicitly(ThrowStmt t)
Returns the set of allThrowables as the set of types that athrowstatement may throw implicitly, that is, the possible types of errors which might arise in the course of executing thethrowstatement, rather than the type of thethrow's operand.- Specified by:
mightThrowImplicitlyin interfaceThrowAnalysis- Specified by:
mightThrowImplicitlyin classAbstractThrowAnalysis- Parameters:
t- theThrowStmtwhose exceptions are to be returned.- Returns:
- the set of all
Throwables.
-
-