Class GotoRemoval
java.lang.Object
com.strobel.decompiler.ast.GotoRemoval
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int(package private) static final int(package private) final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Nodeprivate NodegetParents(Node node) getParents(Node node, Class<T> parentType) final voidremoveGotos(Block method) private voidremoveGotosCore(Block method) static voidremoveRedundantCode(Block method) static voidremoveRedundantCode(Block method, int options) private voidremoveRedundantCodeCore(Block method) private voidtransformLeaveStatements(Block method) private voidtraverseGraph(Block method) private booleantryInlineReturn(Expression gotoExpression, Node target, AstCode code) private booleantrySimplifyGoto(Expression gotoExpression)
-
Field Details
-
OPTION_MERGE_ADJACENT_LABELS
static final int OPTION_MERGE_ADJACENT_LABELS- See Also:
-
OPTION_REMOVE_REDUNDANT_RETURNS
static final int OPTION_REMOVE_REDUNDANT_RETURNS- See Also:
-
labels
-
labelLookup
-
parentLookup
-
nextSibling
-
options
final int options
-
-
Constructor Details
-
GotoRemoval
GotoRemoval() -
GotoRemoval
GotoRemoval(int options)
-
-
Method Details
-
removeGotos
-
removeGotosCore
-
traverseGraph
-
trySimplifyGoto
-
tryInlineReturn
-
getParents
-
getParents
-
enter
-
exit
-
transformLeaveStatements
-
removeRedundantCode
-
removeRedundantCode
-
removeRedundantCodeCore
-