src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IRTranslator.java

Print this page




 460                 }
 461                 case 1: {
 462                     curStat = translateStat(block.getStatements().get(0));
 463                     return false;
 464                 }
 465                 default: {
 466                     // fall through
 467                     break;
 468                 }
 469             }
 470         }
 471 
 472         final List<? extends Statement> stats = block.getStatements();
 473         curStat = new BlockTreeImpl(block,
 474             translateStats(sortStats? getOrderedStatements(stats) : stats));
 475         return false;
 476     }
 477 
 478     private List<? extends Statement> getOrderedStatements(final List<? extends Statement> stats) {
 479         final List<? extends Statement> statList = new ArrayList<>(stats);
 480         statList.sort(Comparator.comparingInt(Node::getStart));
 481         return statList;
 482     }
 483 
 484     private List<? extends StatementTree> translateStats(final List<? extends Statement> stats) {
 485         if (stats == null) {
 486             return null;
 487         }
 488         final List<StatementTreeImpl> statTrees = new ArrayList<>(stats.size());
 489         for (final Statement stat : stats) {
 490             curStat = null;
 491             stat.accept(this);
 492             assert curStat != null;
 493             statTrees.add(curStat);
 494         }
 495         return statTrees;
 496     }
 497 
 498     private List<? extends ExpressionTree> translateExprs(final List<? extends Expression> exprs) {
 499         if (exprs == null) {
 500             return null;




 460                 }
 461                 case 1: {
 462                     curStat = translateStat(block.getStatements().get(0));
 463                     return false;
 464                 }
 465                 default: {
 466                     // fall through
 467                     break;
 468                 }
 469             }
 470         }
 471 
 472         final List<? extends Statement> stats = block.getStatements();
 473         curStat = new BlockTreeImpl(block,
 474             translateStats(sortStats? getOrderedStatements(stats) : stats));
 475         return false;
 476     }
 477 
 478     private List<? extends Statement> getOrderedStatements(final List<? extends Statement> stats) {
 479         final List<? extends Statement> statList = new ArrayList<>(stats);
 480         statList.sort(Comparator.comparingInt(Node::getSourceOrder));
 481         return statList;
 482     }
 483 
 484     private List<? extends StatementTree> translateStats(final List<? extends Statement> stats) {
 485         if (stats == null) {
 486             return null;
 487         }
 488         final List<StatementTreeImpl> statTrees = new ArrayList<>(stats.size());
 489         for (final Statement stat : stats) {
 490             curStat = null;
 491             stat.accept(this);
 492             assert curStat != null;
 493             statTrees.add(curStat);
 494         }
 495         return statTrees;
 496     }
 497 
 498     private List<? extends ExpressionTree> translateExprs(final List<? extends Expression> exprs) {
 499         if (exprs == null) {
 500             return null;