Class GotoRemoval

java.lang.Object
com.strobel.decompiler.ast.GotoRemoval

final class GotoRemoval extends Object
  • Field Details

  • Constructor Details

    • GotoRemoval

      GotoRemoval()
    • GotoRemoval

      GotoRemoval(int options)
  • Method Details

    • removeGotos

      public final void removeGotos(Block method)
    • removeGotosCore

      private void removeGotosCore(Block method)
    • traverseGraph

      private void traverseGraph(Block method)
    • trySimplifyGoto

      private boolean trySimplifyGoto(Expression gotoExpression)
    • tryInlineReturn

      private boolean tryInlineReturn(Expression gotoExpression, Node target, AstCode code)
    • getParents

      private Iterable<Node> getParents(Node node)
    • getParents

      private <T extends Node> Iterable<T> getParents(Node node, Class<T> parentType)
    • enter

      private Node enter(Node node, Set<Node> visitedNodes)
    • exit

      private Node exit(Node node, Set<Node> visitedNodes)
    • transformLeaveStatements

      private void transformLeaveStatements(Block method)
    • removeRedundantCode

      public static void removeRedundantCode(Block method)
    • removeRedundantCode

      public static void removeRedundantCode(Block method, int options)
    • removeRedundantCodeCore

      private void removeRedundantCodeCore(Block method)