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 TypeMethodDescriptionvoid
addLoc
(HasByteCodeLoc loc) boolean
alwaysDefines
(LValue scopedEntity) boolean
canDefine
(LValue scopedEntity, ScopeDiscoverInfoCache factCache) boolean
canFall()
claimBlock
(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) void
collectTypeUsages
(TypeUsageCollector collector) boolean
getLoc()
informBlockHeirachy
(Vector<BlockIdentifier> blockIdentifiers) boolean
boolean
boolean
boolean
boolean
void
void
markCreator
(LValue scopedEntity, StatementContainer<StructuredStatement> hint) void
rewriteExpressions
(ExpressionRewriter expressionRewriter) void
setContainer
(Op04StructuredStatement container) suggestName
(LocalVariable createdHere, Predicate<String> testNameUsedFn) void
traceLocalVariableScope
(LValueScopeDiscoverer scopeDiscoverer) void
transformStructuredChildren
(StructuredStatementTransformer transformer, StructuredScope scope) void
transformStructuredChildrenInReverse
(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.matchutil.Matcher
match
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.structured.StructuredStatement
supportsBreak, supportsContinueBreak
-
Constructor Details
-
AbstractPlaceholder
public AbstractPlaceholder()
-
-
Method Details
-
linearizeInto
- Specified by:
linearizeInto
in interfaceStructuredStatement
-
collectTypeUsages
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
-
getCombinedLoc
- Specified by:
getCombinedLoc
in interfaceHasByteCodeLoc
-
getLoc
- Specified by:
getLoc
in interfaceHasByteCodeLoc
-
addLoc
- Specified by:
addLoc
in interfaceHasByteCodeLoc
-
isProperlyStructured
public boolean isProperlyStructured()- Specified by:
isProperlyStructured
in interfaceStructuredStatement
-
isRecursivelyStructured
public boolean isRecursivelyStructured()- Specified by:
isRecursivelyStructured
in interfaceStructuredStatement
-
getBreakableBlockOrNull
- Specified by:
getBreakableBlockOrNull
in interfaceStructuredStatement
-
fallsNopToNext
public boolean fallsNopToNext()- Specified by:
fallsNopToNext
in interfaceStructuredStatement
-
isScopeBlock
public boolean isScopeBlock()- Specified by:
isScopeBlock
in interfaceStructuredStatement
-
transformStructuredChildren
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) - Specified by:
transformStructuredChildren
in interfaceStructuredStatement
-
transformStructuredChildrenInReverse
public void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope) - Specified by:
transformStructuredChildrenInReverse
in interfaceStructuredStatement
-
rewriteExpressions
- Specified by:
rewriteExpressions
in interfaceStructuredStatement
-
informBlockHeirachy
- Specified by:
informBlockHeirachy
in interfaceStructuredStatement
-
claimBlock
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) - Specified by:
claimBlock
in interfaceStructuredStatement
-
getContainer
- Specified by:
getContainer
in interfaceStructuredStatement
-
setContainer
- Specified by:
setContainer
in interfaceStructuredStatement
-
traceLocalVariableScope
- Specified by:
traceLocalVariableScope
in interfaceStructuredStatement
-
markCreator
- Specified by:
markCreator
in interfaceStructuredStatement
-
alwaysDefines
- Specified by:
alwaysDefines
in interfaceStructuredStatement
-
canDefine
- Specified by:
canDefine
in interfaceStructuredStatement
-
canFall
public boolean canFall()- Specified by:
canFall
in interfaceStructuredStatement
-
findCreatedHere
- Specified by:
findCreatedHere
in interfaceStructuredStatement
-
suggestName
- Specified by:
suggestName
in interfaceStructuredStatement
-
dump
-
inlineable
public boolean inlineable()- Specified by:
inlineable
in interfaceStructuredStatement
-
getInline
- Specified by:
getInline
in interfaceStructuredStatement
-
isEffectivelyNOP
public boolean isEffectivelyNOP()- Specified by:
isEffectivelyNOP
in interfaceStructuredStatement
-