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, transformStructuredChildrenInReverse
private 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 StructuredStatement
isProperlyStructured
in class AbstractStructuredStatement
public boolean fallsNopToNext()
fallsNopToNext
in interface StructuredStatement
fallsNopToNext
in class AbstractStructuredStatement
public boolean isScopeBlock()
isScopeBlock
in interface StructuredStatement
isScopeBlock
in class AbstractStructuredStatement
public 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 AbstractStructuredStatement
public boolean isRethrow()
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public java.util.List<LValue> findCreatedHere()
findCreatedHere
in interface StructuredStatement
findCreatedHere
in class AbstractStructuredStatement
public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator
in interface StructuredStatement
markCreator
in class AbstractStructuredStatement
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
public java.util.Set<BlockIdentifier> getPossibleTryBlocks()
public boolean isRecursivelyStructured()
isRecursivelyStructured
in interface StructuredStatement
isRecursivelyStructured
in class AbstractStructuredStatement
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object