public class StructuredCatch extends AbstractStructuredStatement
| Modifier and Type | Field and Description |
|---|---|
private Op04StructuredStatement |
catchBlock |
private LValue |
catching |
private java.util.List<JavaRefTypeInstance> |
catchTypes |
private java.util.Set<BlockIdentifier> |
possibleTryBlocks |
| Constructor and Description |
|---|
StructuredCatch(java.util.Collection<JavaRefTypeInstance> catchTypes,
Op04StructuredStatement catchBlock,
LValue catching,
java.util.Set<BlockIdentifier> possibleTryBlocks) |
| Modifier and Type | Method and Description |
|---|---|
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper dumper) |
boolean |
equals(java.lang.Object o) |
boolean |
fallsNopToNext() |
java.util.List<LValue> |
findCreatedHere() |
java.util.List<JavaRefTypeInstance> |
getCatchTypes() |
BytecodeLoc |
getCombinedLoc() |
java.util.Set<BlockIdentifier> |
getPossibleTryBlocks() |
boolean |
isProperlyStructured() |
boolean |
isRecursivelyStructured() |
boolean |
isRethrow() |
boolean |
isScopeBlock() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
void |
markCreator(LValue scopedEntity,
StatementContainer<StructuredStatement> hint) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
void |
transformStructuredChildren(StructuredStatementTransformer transformer,
StructuredScope scope) |
addLoc, alwaysDefines, canDefine, canFall, claimBlock, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverseprivate final java.util.List<JavaRefTypeInstance> catchTypes
private final Op04StructuredStatement catchBlock
private final LValue catching
private final java.util.Set<BlockIdentifier> possibleTryBlocks
public StructuredCatch(java.util.Collection<JavaRefTypeInstance> catchTypes, Op04StructuredStatement catchBlock, LValue catching, java.util.Set<BlockIdentifier> possibleTryBlocks)
public void collectTypeUsages(TypeUsageCollector collector)
public BytecodeLoc getCombinedLoc()
public java.util.List<JavaRefTypeInstance> getCatchTypes()
public boolean isProperlyStructured()
isProperlyStructured in interface StructuredStatementisProperlyStructured in class AbstractStructuredStatementpublic boolean fallsNopToNext()
fallsNopToNext in interface StructuredStatementfallsNopToNext in class AbstractStructuredStatementpublic boolean isScopeBlock()
isScopeBlock in interface StructuredStatementisScopeBlock in class AbstractStructuredStatementpublic void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
public void linearizeInto(java.util.List<StructuredStatement> out)
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match in interface Matcher<StructuredStatement>match in class AbstractStructuredStatementpublic boolean isRethrow()
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public java.util.List<LValue> findCreatedHere()
findCreatedHere in interface StructuredStatementfindCreatedHere in class AbstractStructuredStatementpublic void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator in interface StructuredStatementmarkCreator in class AbstractStructuredStatementpublic void rewriteExpressions(ExpressionRewriter expressionRewriter)
public java.util.Set<BlockIdentifier> getPossibleTryBlocks()
public boolean isRecursivelyStructured()
isRecursivelyStructured in interface StructuredStatementisRecursivelyStructured in class AbstractStructuredStatementpublic boolean equals(java.lang.Object o)
equals in class java.lang.Object