Package com.strobel.decompiler.ast
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 Node
private Node
getParents
(Node node) getParents
(Node node, Class<T> parentType) final void
removeGotos
(Block method) private void
removeGotosCore
(Block method) static void
removeRedundantCode
(Block method) static void
removeRedundantCode
(Block method, int options) private void
removeRedundantCodeCore
(Block method) private void
transformLeaveStatements
(Block method) private void
traverseGraph
(Block method) private boolean
tryInlineReturn
(Expression gotoExpression, Node target, AstCode code) private boolean
trySimplifyGoto
(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
-