Package soot.toolkits.exceptions
Class AbstractThrowAnalysis
- java.lang.Object
-
- soot.toolkits.exceptions.AbstractThrowAnalysis
-
- All Implemented Interfaces:
ThrowAnalysis
- Direct Known Subclasses:
PedanticThrowAnalysis,UnitThrowAnalysis
public abstract class AbstractThrowAnalysis extends Object implements ThrowAnalysis
Abstract class implementing parts of theThrowAnalysisinterface which may be common to multiple concreteThrowAnalysisclasses.AbstractThrowAnalysisprovides straightforward implementations ofmightThrowExplicitly(soot.baf.ThrowInst)andmightThrowExplicitly(soot.jimple.ThrowStmt), since concrete implementations ofThrowAnalysisseem likely to differ mainly in their treatment of implicit exceptions.
-
-
Constructor Summary
Constructors Constructor Description AbstractThrowAnalysis()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract ThrowableSetmightThrow(Unit u)Returns a set representing theThrowabletypes that the specified unit might throw.ThrowableSetmightThrowExplicitly(ThrowInst t)Returns a set representing theThrowabletypes that the specified throw instruction might throw explicitly, that is, the possible types for itsThrowableargument.ThrowableSetmightThrowExplicitly(ThrowStmt t)Returns a set representing theThrowabletypes that the specified throw statement might throw explicitly, that is, the possible types for itsThrowableargument.ThrowableSetmightThrowExplicitly(ThrowStmt t, SootMethod sm)abstract ThrowableSetmightThrowImplicitly(ThrowInst t)Returns a set representing theThrowabletypes that the specified throw instruction might 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.abstract ThrowableSetmightThrowImplicitly(ThrowStmt t)Returns a set representing theThrowabletypes that the specified throw statement might 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.
-
-
-
Method Detail
-
mightThrow
public abstract ThrowableSet mightThrow(Unit u)
Description copied from interface:ThrowAnalysisReturns a set representing theThrowabletypes that the specified unit might throw.- Specified by:
mightThrowin interfaceThrowAnalysis- Parameters:
u-Unitwhose exceptions are to be returned.- Returns:
- a representation of the
Throwabletypes thatumight throw.
-
mightThrowExplicitly
public ThrowableSet mightThrowExplicitly(ThrowInst t)
Description copied from interface:ThrowAnalysisReturns a set representing theThrowabletypes that the specified throw instruction might throw explicitly, that is, the possible types for itsThrowableargument.- Specified by:
mightThrowExplicitlyin interfaceThrowAnalysis- Parameters:
t-ThrowInstwhose explicit exceptions are to be returned.- Returns:
- a representation of the possible types of
t'sThrowableoperand.
-
mightThrowExplicitly
public ThrowableSet mightThrowExplicitly(ThrowStmt t)
Description copied from interface:ThrowAnalysisReturns a set representing theThrowabletypes that the specified throw statement might throw explicitly, that is, the possible types for itsThrowableargument.- Specified by:
mightThrowExplicitlyin interfaceThrowAnalysis- Parameters:
t-ThrowStmtwhose explicit exceptions are to be returned.- Returns:
- a representation of the possible types of
t'sThrowableoperand.
-
mightThrowExplicitly
public ThrowableSet mightThrowExplicitly(ThrowStmt t, SootMethod sm)
-
mightThrowImplicitly
public abstract ThrowableSet mightThrowImplicitly(ThrowInst t)
Description copied from interface:ThrowAnalysisReturns a set representing theThrowabletypes that the specified throw instruction might 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- Parameters:
t-ThrowStmtwhose implicit exceptions are to be returned.- Returns:
- a representation of the types of exceptions that
tmight throw implicitly.
-
mightThrowImplicitly
public abstract ThrowableSet mightThrowImplicitly(ThrowStmt t)
Description copied from interface:ThrowAnalysisReturns a set representing theThrowabletypes that the specified throw statement might 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- Parameters:
t-ThrowStmtwhose implicit exceptions are to be returned.- Returns:
- a representation of the types of exceptions that
tmight throw implicitly.
-
-