Class AbstractPlaceholder
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.structured.statement.placeholder.AbstractPlaceholder
- All Implemented Interfaces:
HasByteCodeLoc, Matcher<StructuredStatement>, StructuredStatement, Dumpable, TypeUsageCollectable
- Direct Known Subclasses:
BeginBlock, ElseBlock, EndBlock
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddLoc(HasByteCodeLoc loc) booleanalwaysDefines(LValue scopedEntity) booleancanDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache) booleancanFall()claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) voidcollectTypeUsages(TypeUsageCollector collector) booleangetLoc()informBlockHeirachy(Vector<BlockIdentifier> blockIdentifiers) booleanbooleanbooleanbooleanbooleanvoidvoidmarkCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint) voidrewriteExpressions(ExpressionRewriter expressionRewriter) voidsetContainer(Op04StructuredStatement container) suggestName(LocalVariable createdHere, Predicate<String> testNameUsedFn) voidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) voidtransformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) voidtransformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface StructuredStatement
supportsBreak, supportsContinueBreak
-
Constructor Details
-
AbstractPlaceholder
public AbstractPlaceholder()
-
-
Method Details
-
linearizeInto
- Specified by:
linearizeIntoin interfaceStructuredStatement
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable
-
getCombinedLoc
- Specified by:
getCombinedLocin interfaceHasByteCodeLoc
-
getLoc
- Specified by:
getLocin interfaceHasByteCodeLoc
-
addLoc
- Specified by:
addLocin interfaceHasByteCodeLoc
-
isProperlyStructured
public boolean isProperlyStructured()- Specified by:
isProperlyStructuredin interfaceStructuredStatement
-
isRecursivelyStructured
public boolean isRecursivelyStructured()- Specified by:
isRecursivelyStructuredin interfaceStructuredStatement
-
getBreakableBlockOrNull
- Specified by:
getBreakableBlockOrNullin interfaceStructuredStatement
-
fallsNopToNext
public boolean fallsNopToNext()- Specified by:
fallsNopToNextin interfaceStructuredStatement
-
isScopeBlock
public boolean isScopeBlock()- Specified by:
isScopeBlockin interfaceStructuredStatement
-
transformStructuredChildren
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) - Specified by:
transformStructuredChildrenin interfaceStructuredStatement
-
transformStructuredChildrenInReverse
public void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope) - Specified by:
transformStructuredChildrenInReversein interfaceStructuredStatement
-
rewriteExpressions
- Specified by:
rewriteExpressionsin interfaceStructuredStatement
-
informBlockHeirachy
- Specified by:
informBlockHeirachyin interfaceStructuredStatement
-
claimBlock
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) - Specified by:
claimBlockin interfaceStructuredStatement
-
getContainer
- Specified by:
getContainerin interfaceStructuredStatement
-
setContainer
- Specified by:
setContainerin interfaceStructuredStatement
-
traceLocalVariableScope
- Specified by:
traceLocalVariableScopein interfaceStructuredStatement
-
markCreator
- Specified by:
markCreatorin interfaceStructuredStatement
-
alwaysDefines
- Specified by:
alwaysDefinesin interfaceStructuredStatement
-
canDefine
- Specified by:
canDefinein interfaceStructuredStatement
-
canFall
public boolean canFall()- Specified by:
canFallin interfaceStructuredStatement
-
findCreatedHere
- Specified by:
findCreatedHerein interfaceStructuredStatement
-
suggestName
- Specified by:
suggestNamein interfaceStructuredStatement
-
dump
-
inlineable
public boolean inlineable()- Specified by:
inlineablein interfaceStructuredStatement
-
getInline
- Specified by:
getInlinein interfaceStructuredStatement
-
isEffectivelyNOP
public boolean isEffectivelyNOP()- Specified by:
isEffectivelyNOPin interfaceStructuredStatement
-