public class StructuredTry extends AbstractStructuredStatement
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<Op04StructuredStatement> |
catchBlocks |
private Op04StructuredStatement |
finallyBlock |
private java.util.List<Op04StructuredStatement> |
resourceBlock |
private Op04StructuredStatement |
tryBlock |
private BlockIdentifier |
tryBlockIdentifier |
| Constructor and Description |
|---|
StructuredTry(Op04StructuredStatement tryBlock,
BlockIdentifier tryBlockIdentifier) |
addLoc, alwaysDefines, canDefine, canFall, claimBlock, findCreatedHere, getBreakableBlockOrNull, getContainer, getLoc, informBlockHeirachy, isEffectivelyNOP, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverseprivate Op04StructuredStatement tryBlock
private java.util.List<Op04StructuredStatement> catchBlocks
private Op04StructuredStatement finallyBlock
private final BlockIdentifier tryBlockIdentifier
private java.util.List<Op04StructuredStatement> resourceBlock
public StructuredTry(Op04StructuredStatement tryBlock, BlockIdentifier tryBlockIdentifier)
public BytecodeLoc getCombinedLoc()
public void addResources(java.util.List<Op04StructuredStatement> resources)
public java.util.List<Op04StructuredStatement> getResources()
public boolean hasResources()
public Op04StructuredStatement getTryBlock()
public java.util.List<Op04StructuredStatement> getCatchBlocks()
public void clearCatchBlocks()
public void collectTypeUsages(TypeUsageCollector collector)
public boolean isProperlyStructured()
isProperlyStructured in interface StructuredStatementisProperlyStructured in class AbstractStructuredStatementpublic boolean fallsNopToNext()
fallsNopToNext in interface StructuredStatementfallsNopToNext in class AbstractStructuredStatementvoid addCatch(Op04StructuredStatement catchStatement)
public void setFinally(Op04StructuredStatement finallyBlock)
public boolean isScopeBlock()
isScopeBlock in interface StructuredStatementisScopeBlock in class AbstractStructuredStatementpublic void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
public void linearizeInto(java.util.List<StructuredStatement> out)
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public boolean isRecursivelyStructured()
isRecursivelyStructured in interface StructuredStatementisRecursivelyStructured in class AbstractStructuredStatementpublic Op04StructuredStatement getFinallyBlock()
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match in interface Matcher<StructuredStatement>match in class AbstractStructuredStatementpublic void rewriteExpressions(ExpressionRewriter expressionRewriter)
private boolean isPointlessTry()
private boolean isJustTryCatchThrow()
public boolean inlineable()
inlineable in interface StructuredStatementinlineable in class AbstractStructuredStatementpublic BlockIdentifier getTryBlockIdentifier()
public Op04StructuredStatement getInline()
getInline in interface StructuredStatementgetInline in class AbstractStructuredStatementpublic void setTryBlock(Op04StructuredStatement tryBlock)