コード例 #1
0
  private boolean handleBlock(final Block block, final boolean sortStats) {
    // FIXME: revisit this!
    if (block.isSynthetic()) {
      final int statCount = block.getStatementCount();
      switch (statCount) {
        case 0:
          {
            final EmptyNode emptyNode = new EmptyNode(-1, block.getToken(), block.getFinish());
            curStat = new EmptyStatementTreeImpl(emptyNode);
            return false;
          }
        case 1:
          {
            curStat = translateStat(block.getStatements().get(0));
            return false;
          }
        default:
          {
            // fall through
            break;
          }
      }
    }

    final List<? extends Statement> stats = block.getStatements();
    curStat =
        new BlockTreeImpl(block, translateStats(sortStats ? getOrderedStatements(stats) : stats));
    return false;
  }