src/share/classes/com/sun/tools/javac/tree/JCTree.java

Print this page

        

*** 1019,1032 **** */ public static class JCTry extends JCStatement implements TryTree { public JCBlock body; public List<JCCatch> catchers; public JCBlock finalizer; ! protected JCTry(JCBlock body, List<JCCatch> catchers, JCBlock finalizer) { this.body = body; this.catchers = catchers; this.finalizer = finalizer; } @Override public void accept(Visitor v) { v.visitTry(this); } public Kind getKind() { return Kind.TRY; } --- 1019,1037 ---- */ public static class JCTry extends JCStatement implements TryTree { public JCBlock body; public List<JCCatch> catchers; public JCBlock finalizer; ! public List<JCTree> resources; ! protected JCTry(JCBlock body, ! List<JCCatch> catchers, ! JCBlock finalizer, ! List<JCTree> resources) { this.body = body; this.catchers = catchers; this.finalizer = finalizer; + this.resources = resources; } @Override public void accept(Visitor v) { v.visitTry(this); } public Kind getKind() { return Kind.TRY; }
*** 1038,1047 **** --- 1043,1056 ---- @Override public <R,D> R accept(TreeVisitor<R,D> v, D d) { return v.visitTry(this, d); } @Override + public List<? extends JCTree> getResources() { + return resources; + } + @Override public int getTag() { return TRY; } }
*** 2160,2169 **** --- 2169,2182 ---- JCLabeledStatement Labelled(Name label, JCStatement body); JCSwitch Switch(JCExpression selector, List<JCCase> cases); JCCase Case(JCExpression pat, List<JCStatement> stats); JCSynchronized Synchronized(JCExpression lock, JCBlock body); JCTry Try(JCBlock body, List<JCCatch> catchers, JCBlock finalizer); + JCTry Try(JCBlock body, + List<JCCatch> catchers, + JCBlock finalizer, + List<JCTree> resources); JCCatch Catch(JCVariableDecl param, JCBlock body); JCConditional Conditional(JCExpression cond, JCExpression thenpart, JCExpression elsepart); JCIf If(JCExpression cond, JCStatement thenpart, JCStatement elsepart);