public class StructuredIf extends AbstractStructuredStatement implements CanRemovePointlessBlock
Constructor and Description |
---|
StructuredIf(BytecodeLoc loc,
ConditionalExpression conditionalExpression,
Op04StructuredStatement ifTaken) |
StructuredIf(BytecodeLoc loc,
ConditionalExpression conditionalExpression,
Op04StructuredStatement ifTaken,
Op04StructuredStatement elseBlock) |
addLoc, alwaysDefines, canFall, claimBlock, findCreatedHere, getBreakableBlockOrNull, getContainer, getInline, getLoc, inlineable, isEffectivelyNOP, isProperlyStructured, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
public StructuredIf(BytecodeLoc loc, ConditionalExpression conditionalExpression, Op04StructuredStatement ifTaken)
public StructuredIf(BytecodeLoc loc, ConditionalExpression conditionalExpression, Op04StructuredStatement ifTaken, Op04StructuredStatement elseBlock)
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
public BytecodeLoc getCombinedLoc()
getCombinedLoc
in interface HasByteCodeLoc
public boolean hasElseBlock()
public ConditionalExpression getConditionalExpression()
public Op04StructuredStatement getIfTaken()
public StructuredStatement informBlockHeirachy(Vector<BlockIdentifier> blockIdentifiers)
informBlockHeirachy
in interface StructuredStatement
informBlockHeirachy
in class AbstractStructuredStatement
public boolean isScopeBlock()
isScopeBlock
in interface StructuredStatement
isScopeBlock
in class AbstractStructuredStatement
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildren
in interface StructuredStatement
public void linearizeInto(List<StructuredStatement> out)
linearizeInto
in interface StructuredStatement
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
traceLocalVariableScope
in interface StructuredStatement
public boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
canDefine
in interface StructuredStatement
canDefine
in class AbstractStructuredStatement
public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator
in interface StructuredStatement
markCreator
in class AbstractStructuredStatement
public boolean isRecursivelyStructured()
isRecursivelyStructured
in interface StructuredStatement
isRecursivelyStructured
in class AbstractStructuredStatement
public boolean fallsNopToNext()
fallsNopToNext
in interface StructuredStatement
fallsNopToNext
in class AbstractStructuredStatement
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
match
in class AbstractStructuredStatement
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
rewriteExpressions
in interface StructuredStatement
public StructuredStatement convertToAssertion(StructuredAssert structuredAssert)
public void removePointlessBlocks(StructuredScope scope)
removePointlessBlocks
in interface CanRemovePointlessBlock
Copyright © 2011-2021. All Rights Reserved.