Package com.strobel.decompiler.ast
Class AstOptimizer.AbstractBranchBlockOptimization
- java.lang.Object
-
- com.strobel.decompiler.ast.AstOptimizer.AbstractBasicBlockOptimization
-
- com.strobel.decompiler.ast.AstOptimizer.AbstractBranchBlockOptimization
-
- All Implemented Interfaces:
AstOptimizer.BasicBlockOptimization
- Direct Known Subclasses:
AstOptimizer.JoinBranchConditionsOptimization
- Enclosing class:
- AstOptimizer
private abstract static class AstOptimizer.AbstractBranchBlockOptimization extends AstOptimizer.AbstractBasicBlockOptimization
-
-
Field Summary
Fields Modifier and Type Field Description protected StrongBox<Expression>
expression
protected StrongBox<Label>
label1
protected StrongBox<Label>
label2
-
Fields inherited from class com.strobel.decompiler.ast.AstOptimizer.AbstractBasicBlockOptimization
context, EMPTY_BLOCK, labelGlobalRefCount, labelToBasicBlock, method, resolver
-
-
Constructor Summary
Constructors Constructor Description AbstractBranchBlockOptimization(DecompilerContext context, Block method)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
run(java.util.List<Node> body, BasicBlock head, int position)
protected abstract boolean
run(java.util.List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate)
-
-
-
Constructor Detail
-
AbstractBranchBlockOptimization
public AbstractBranchBlockOptimization(DecompilerContext context, Block method)
-
-
Method Detail
-
run
public final boolean run(java.util.List<Node> body, BasicBlock head, int position)
-
run
protected abstract boolean run(java.util.List<Node> body, BasicBlock branchBlock, Expression branchCondition, Label thenLabel, Label elseLabel, boolean negate)
-
-