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.