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(List<JCTree> resources,
! JCBlock body,
! List<JCCatch> catchers,
! JCBlock finalizer) {
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(List<JCTree> resources,
+ JCBlock body,
+ List<JCCatch> catchers,
+ JCBlock finalizer);
JCCatch Catch(JCVariableDecl param, JCBlock body);
JCConditional Conditional(JCExpression cond,
JCExpression thenpart,
JCExpression elsepart);
JCIf If(JCExpression cond, JCStatement thenpart, JCStatement elsepart);