Example #1
0
 @Override
 public void visitTry(JCTry tree) {
   aPrint("try ");
   List<?> resources = readObject(tree, "resources", List.nil());
   int len = resources.length();
   switch (len) {
     case 0:
       break;
     case 1:
       print("(");
       JCVariableDecl decl = (JCVariableDecl) resources.get(0);
       flagMod = -1L & ~FINAL;
       printVarDefInline(decl);
       print(") ");
       break;
     default:
       println("(");
       indent++;
       int c = 0;
       for (Object i : resources) {
         align();
         flagMod = -1L & ~FINAL;
         printVarDefInline((JCVariableDecl) i);
         if (++c == len) {
           print(") ");
         } else {
           println(";", (JCTree) i);
         }
       }
       indent--;
   }
   println("{");
   indent++;
   for (JCStatement stat : tree.body.stats) print(stat);
   indent--;
   aPrint("}");
   for (JCCatch catchBlock : tree.catchers) {
     printCatch(catchBlock);
   }
   if (tree.finalizer != null) {
     println(" finally {");
     indent++;
     for (JCStatement stat : tree.finalizer.stats) print(stat);
     indent--;
     aPrint("}");
   }
   println(tree);
 }