Class StructuredTry
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
org.benf.cfr.reader.bytecode.analysis.structured.statement.StructuredTry
- All Implemented Interfaces:
HasByteCodeLoc, Matcher<StructuredStatement>, StructuredStatement, Dumpable, TypeUsageCollectable
-
Constructor Summary
ConstructorsConstructorDescriptionStructuredTry(Op04StructuredStatement tryBlock, BlockIdentifier tryBlockIdentifier) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddResources(List<Op04StructuredStatement> resources) voidvoidcollectTypeUsages(TypeUsageCollector collector) booleanbooleanbooleanbooleanbooleanbooleanvoidbooleanmatch(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) voidrewriteExpressions(ExpressionRewriter expressionRewriter) voidsetFinally(Op04StructuredStatement finallyBlock) voidsetTryBlock(Op04StructuredStatement tryBlock) voidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) voidtransformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, findCreatedHere, getBreakableBlockOrNull, getContainer, getLoc, informBlockHeirachy, isEffectivelyNOP, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
-
Constructor Details
-
StructuredTry
-
-
Method Details
-
getCombinedLoc
-
addResources
-
getResources
-
hasResources
public boolean hasResources() -
getTryBlock
-
getCatchBlocks
-
clearCatchBlocks
public void clearCatchBlocks() -
dump
-
collectTypeUsages
-
isProperlyStructured
public boolean isProperlyStructured()- Specified by:
isProperlyStructuredin interfaceStructuredStatement- Overrides:
isProperlyStructuredin classAbstractStructuredStatement
-
fallsNopToNext
public boolean fallsNopToNext()- Specified by:
fallsNopToNextin interfaceStructuredStatement- Overrides:
fallsNopToNextin classAbstractStructuredStatement
-
setFinally
-
isScopeBlock
public boolean isScopeBlock()- Specified by:
isScopeBlockin interfaceStructuredStatement- Overrides:
isScopeBlockin classAbstractStructuredStatement
-
transformStructuredChildren
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) -
linearizeInto
-
traceLocalVariableScope
-
isRecursivelyStructured
public boolean isRecursivelyStructured()- Specified by:
isRecursivelyStructuredin interfaceStructuredStatement- Overrides:
isRecursivelyStructuredin classAbstractStructuredStatement
-
getFinallyBlock
-
match
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) - Specified by:
matchin interfaceMatcher<StructuredStatement>- Overrides:
matchin classAbstractStructuredStatement
-
rewriteExpressions
-
inlineable
public boolean inlineable()- Specified by:
inlineablein interfaceStructuredStatement- Overrides:
inlineablein classAbstractStructuredStatement
-
getTryBlockIdentifier
-
getInline
- Specified by:
getInlinein interfaceStructuredStatement- Overrides:
getInlinein classAbstractStructuredStatement
-
setTryBlock
-