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
public abstract class AbstractPlaceholder extends java.lang.Object implements StructuredStatement
-
-
Constructor Summary
Constructors Constructor Description AbstractPlaceholder()
-
Method Summary
-
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
-
-
-
-
Method Detail
-
linearizeInto
public void linearizeInto(java.util.List<StructuredStatement> out)
- Specified by:
linearizeIntoin interfaceStructuredStatement
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
- Specified by:
getCombinedLocin interfaceHasByteCodeLoc
-
getLoc
public BytecodeLoc getLoc()
- Specified by:
getLocin interfaceHasByteCodeLoc
-
addLoc
public void addLoc(HasByteCodeLoc loc)
- Specified by:
addLocin interfaceHasByteCodeLoc
-
isProperlyStructured
public boolean isProperlyStructured()
- Specified by:
isProperlyStructuredin interfaceStructuredStatement
-
isRecursivelyStructured
public boolean isRecursivelyStructured()
- Specified by:
isRecursivelyStructuredin interfaceStructuredStatement
-
getBreakableBlockOrNull
public BlockIdentifier 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
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
- Specified by:
rewriteExpressionsin interfaceStructuredStatement
-
informBlockHeirachy
public StructuredStatement informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers)
- Specified by:
informBlockHeirachyin interfaceStructuredStatement
-
claimBlock
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)
- Specified by:
claimBlockin interfaceStructuredStatement
-
getContainer
public Op04StructuredStatement getContainer()
- Specified by:
getContainerin interfaceStructuredStatement
-
setContainer
public void setContainer(Op04StructuredStatement container)
- Specified by:
setContainerin interfaceStructuredStatement
-
traceLocalVariableScope
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
- Specified by:
traceLocalVariableScopein interfaceStructuredStatement
-
markCreator
public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
- Specified by:
markCreatorin interfaceStructuredStatement
-
alwaysDefines
public boolean alwaysDefines(LValue scopedEntity)
- Specified by:
alwaysDefinesin interfaceStructuredStatement
-
canDefine
public boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
- Specified by:
canDefinein interfaceStructuredStatement
-
canFall
public boolean canFall()
- Specified by:
canFallin interfaceStructuredStatement
-
findCreatedHere
public java.util.List<LValue> findCreatedHere()
- Specified by:
findCreatedHerein interfaceStructuredStatement
-
suggestName
public java.lang.String suggestName(LocalVariable createdHere, Predicate<java.lang.String> testNameUsedFn)
- Specified by:
suggestNamein interfaceStructuredStatement
-
inlineable
public boolean inlineable()
- Specified by:
inlineablein interfaceStructuredStatement
-
getInline
public Op04StructuredStatement getInline()
- Specified by:
getInlinein interfaceStructuredStatement
-
isEffectivelyNOP
public boolean isEffectivelyNOP()
- Specified by:
isEffectivelyNOPin interfaceStructuredStatement
-
-