public class IntraproceduralExceptionAnalysis
extends java.lang.Object
| Constructor and Description |
|---|
IntraproceduralExceptionAnalysis(CGNode node,
ExceptionFilter<SSAInstruction> filter,
ClassHierarchy cha,
PointerAnalysis<InstanceKey> pointerAnalysis)
Create and compute intraprocedural exception analysis.
|
IntraproceduralExceptionAnalysis(IR ir,
ExceptionFilter<SSAInstruction> filter,
ClassHierarchy cha)
Deprecated.
|
IntraproceduralExceptionAnalysis(IR ir,
ExceptionFilter<SSAInstruction> filter,
ClassHierarchy cha,
PointerAnalysis<InstanceKey> pointerAnalysis,
CGNode node)
Create and compute intraprocedural exception analysis.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<TypeReference> |
collectThrownExceptions(SSAInstruction throwingInstruction)
Returns a set of exceptions, which might be thrown from this instruction within this method.
|
java.util.Set<TypeReference> |
getCaughtExceptions(CallSiteReference callsite)
Returns all exceptions for the given call site in the given call graph node, which will be
caught.
|
java.util.Set<TypeReference> |
getExceptions()
Returns all exceptions which might be created and thrown but not caught or filtered.
|
java.util.Set<TypeReference> |
getPossiblyCaughtExceptions()
Return all exceptions that could be returned from getCaughtExceptions
|
static SSAInstruction |
getThrowingInstruction(ISSABasicBlock block) |
boolean |
hasUncaughtExceptions(SSAInstruction instruction) |
static IntraproceduralExceptionAnalysis |
newDummy() |
@Deprecated public IntraproceduralExceptionAnalysis(IR ir, ExceptionFilter<SSAInstruction> filter, ClassHierarchy cha)
public IntraproceduralExceptionAnalysis(CGNode node, ExceptionFilter<SSAInstruction> filter, ClassHierarchy cha, PointerAnalysis<InstanceKey> pointerAnalysis)
public IntraproceduralExceptionAnalysis(IR ir, ExceptionFilter<SSAInstruction> filter, ClassHierarchy cha, PointerAnalysis<InstanceKey> pointerAnalysis, CGNode node)
public static IntraproceduralExceptionAnalysis newDummy()
public java.util.Set<TypeReference> getPossiblyCaughtExceptions()
public java.util.Set<TypeReference> collectThrownExceptions(SSAInstruction throwingInstruction)
This does include exceptions dispatched by throw instructions, but not exceptions from method calls.
public static SSAInstruction getThrowingInstruction(ISSABasicBlock block)
public java.util.Set<TypeReference> getCaughtExceptions(CallSiteReference callsite)
public boolean hasUncaughtExceptions(SSAInstruction instruction)
public java.util.Set<TypeReference> getExceptions()
If constructed without points-to-analysis, it does not contain exceptions thrown by throw statements.