langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java

Print this page

        

*** 1507,1527 **** stats.add(outerTry); return make.Block(0L, stats.toList()); } private JCBlock makeArmFinallyClause(Symbol primaryException, JCExpression resource) { ! // primaryException.addSuppressedException(catchException); VarSymbol catchException = new VarSymbol(0, make.paramName(2), syms.throwableType, currentMethodSym); JCStatement addSuppressionStatement = make.Exec(makeCall(make.Ident(primaryException), ! names.fromString("addSuppressedException"), List.<JCExpression>of(make.Ident(catchException)))); ! // try { resource.close(); } catch (e) { primaryException.addSuppressedException(e); } JCBlock tryBlock = make.Block(0L, List.<JCStatement>of(makeResourceCloseInvocation(resource))); JCVariableDecl catchExceptionDecl = make.VarDef(catchException, null); JCBlock catchBlock = make.Block(0L, List.<JCStatement>of(addSuppressionStatement)); List<JCCatch> catchClauses = List.<JCCatch>of(make.Catch(catchExceptionDecl, catchBlock)); --- 1507,1527 ---- stats.add(outerTry); return make.Block(0L, stats.toList()); } private JCBlock makeArmFinallyClause(Symbol primaryException, JCExpression resource) { ! // primaryException.addSuppressed(catchException); VarSymbol catchException = new VarSymbol(0, make.paramName(2), syms.throwableType, currentMethodSym); JCStatement addSuppressionStatement = make.Exec(makeCall(make.Ident(primaryException), ! names.fromString("addSuppressed"), List.<JCExpression>of(make.Ident(catchException)))); ! // try { resource.close(); } catch (e) { primaryException.addSuppressed(e); } JCBlock tryBlock = make.Block(0L, List.<JCStatement>of(makeResourceCloseInvocation(resource))); JCVariableDecl catchExceptionDecl = make.VarDef(catchException, null); JCBlock catchBlock = make.Block(0L, List.<JCStatement>of(addSuppressionStatement)); List<JCCatch> catchClauses = List.<JCCatch>of(make.Catch(catchExceptionDecl, catchBlock));