Class IfStatement
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
org.benf.cfr.reader.bytecode.analysis.parse.statement.JumpingStatement
org.benf.cfr.reader.bytecode.analysis.parse.statement.GotoStatement
org.benf.cfr.reader.bytecode.analysis.parse.statement.IfStatement
- All Implemented Interfaces:
HasByteCodeLoc,DeepCloneable<Statement>,Statement,ComparableUnderEC,Dumpable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ConditionalExpressionprivate static final intprivate static final intprivate BlockIdentifierprivate BlockIdentifier -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanThrow(ExceptionCheck caught) voidcollectLValueUsage(LValueUsageCollector lValueUsageCollector) booleanbooleanbooleanvoidvoidvoidreplaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers) voidreplaceWithWhileLoopEnd(BlockIdentifier blockIdentifier) voidreplaceWithWhileLoopStart(BlockIdentifier blockIdentifier) voidrewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) voidsetCondition(ConditionalExpression condition) voidsetKnownBlocks(BlockIdentifier ifBlock, BlockIdentifier elseBlock) voidMethods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.statement.GotoStatement
deepClone, equivalentUnder, fallsToNext, getJumpType, getTargetStartBlock, setJumpTypeMethods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
addLoc, collectLocallyMutatedVariables, collectLValueAssignments, collectObjectCreation, doesBlackListLValueReplacement, getCompoundParts, getContainer, getCreatedLValue, getLoc, getRValue, getTargetStatement, isCompound, outerDeepClone, setContainer, setLifetimeHint, toString, wantsLifetimeHint
-
Field Details
-
JUMP_NOT_TAKEN
private static final int JUMP_NOT_TAKEN- See Also:
-
JUMP_TAKEN
private static final int JUMP_TAKEN- See Also:
-
condition
-
knownIfBlock
-
knownElseBlock
-
-
Constructor Details
-
IfStatement
-
-
Method Details
-
getCombinedLoc
- Specified by:
getCombinedLocin interfaceHasByteCodeLoc- Overrides:
getCombinedLocin classGotoStatement
-
dump
- Specified by:
dumpin interfaceDumpable- Overrides:
dumpin classGotoStatement
-
replaceSingleUsageLValues
- Specified by:
replaceSingleUsageLValuesin interfaceStatement- Overrides:
replaceSingleUsageLValuesin classGotoStatement
-
rewriteExpressions
public void rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) - Specified by:
rewriteExpressionsin interfaceStatement- Overrides:
rewriteExpressionsin classGotoStatement
-
collectLValueUsage
- Specified by:
collectLValueUsagein interfaceStatement- Overrides:
collectLValueUsagein classGotoStatement
-
getCondition
-
setCondition
-
simplifyCondition
public void simplifyCondition() -
negateCondition
public void negateCondition() -
replaceWithWhileLoopStart
-
replaceWithWhileLoopEnd
-
getJumpTarget
- Overrides:
getJumpTargetin classGotoStatement
-
isConditional
public boolean isConditional()- Overrides:
isConditionalin classGotoStatement
-
canThrow
- Specified by:
canThrowin interfaceStatement- Overrides:
canThrowin classGotoStatement
-
getStructuredStatement
- Specified by:
getStructuredStatementin interfaceStatement- Overrides:
getStructuredStatementin classGotoStatement
-
setKnownBlocks
-
getBlocks
-
getKnownIfBlock
-
hasElseBlock
public boolean hasElseBlock() -
optimiseForTypes
public void optimiseForTypes() -
equals
- Overrides:
equalsin classGotoStatement
-