test/tools/javac/lambda/EffectivelyFinalThrows.java

Wed, 23 Oct 2013 07:50:04 +0200

author
jlahoda
date
Wed, 23 Oct 2013 07:50:04 +0200
changeset 2165
864dafc5ab7a
parent 0
959103a6100f
permissions
-rw-r--r--

8026861: Wrong LineNumberTable for variable declarations in lambdas
Summary: Setting or correcting positions for many trees produced by LambdaToMethod.
Reviewed-by: vromero, rfield

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8019521
     4  * @summary Check that enhanced rethrow/effectivelly final works correctly inside lambdas
     5  * @compile EffectivelyFinalThrows.java
     6  */
     8 class EffectivelyFinalThrows {
     9     interface SAM<E extends Throwable> {
    10         public void t() throws E;
    11     }
    12     <E extends Throwable> void test(SAM<E> s) throws E {
    13         s.t();
    14     }
    15     void test2(SAM<Checked> s) throws Checked {
    16         test(() -> {
    17             try {
    18                 s.t();
    19             } catch (Throwable t) {
    20                 throw t;
    21             }
    22         });
    23     }
    24     static class Checked extends Exception {}
    25 }

mercurial