public interface ThrowAnalysis
A source of information about the exceptions that Unit
s might throw.
The Unit
s corresponding to athrow
instructions may throw exceptions either
explicitly—because the exception is the athrow
's argument— or implicitly—because some error
arises in the course of executing the instruction (only implicit exceptions are possible for bytecode instructions other
than athrow
). The mightThrowExplicitly()
and mightThrowImplicitly()
methods allow
analyses to exploit any extra precision that may be gained by distinguishing between an athrow
's implicit and
explicit exceptions.
Modifier and Type | Method and Description |
---|---|
ThrowableSet |
mightThrow(Unit u)
Returns a set representing the
Throwable types that the specified unit might throw. |
ThrowableSet |
mightThrowExplicitly(ThrowInst t)
Returns a set representing the
Throwable types that the specified throw instruction might throw explicitly, that
is, the possible types for its Throwable argument. |
ThrowableSet |
mightThrowExplicitly(ThrowStmt t)
Returns a set representing the
Throwable types that the specified throw statement might throw explicitly, that
is, the possible types for its Throwable argument. |
ThrowableSet |
mightThrowImplicitly(ThrowInst t)
Returns a set representing the
Throwable types that the specified throw instruction might 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 a set representing the
Throwable types that the specified throw statement might 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. |
ThrowableSet mightThrow(Unit u)
Throwable
types that the specified unit might throw.u
- Unit
whose exceptions are to be returned.Throwable
types that u
might throw.ThrowableSet mightThrowExplicitly(ThrowInst t)
Throwable
types that the specified throw instruction might throw explicitly, that
is, the possible types for its Throwable
argument.t
- ThrowInst
whose explicit exceptions are to be returned.t
's Throwable
operand.ThrowableSet mightThrowExplicitly(ThrowStmt t)
Throwable
types that the specified throw statement might throw explicitly, that
is, the possible types for its Throwable
argument.t
- ThrowStmt
whose explicit exceptions are to be returned.t
's Throwable
operand.ThrowableSet mightThrowImplicitly(ThrowInst t)
Throwable
types that the specified throw instruction might 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.t
- ThrowStmt
whose implicit exceptions are to be returned.t
might throw implicitly.ThrowableSet mightThrowImplicitly(ThrowStmt t)
Throwable
types that the specified throw statement might 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.t
- ThrowStmt
whose implicit exceptions are to be returned.t
might throw implicitly.Copyright © 2021 Soot OSS. All rights reserved.