test/tools/javac/T6326693/FinalVariableAssignedToInCatchBlockTest.java

Wed, 13 Aug 2014 14:50:00 -0700

author
katleman
date
Wed, 13 Aug 2014 14:50:00 -0700
changeset 2549
0b6cc4ea670f
parent 0
959103a6100f
permissions
-rw-r--r--

Added tag jdk8u40-b01 for changeset bf89a471779d

     1 /*
     2  * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  *
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  *
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  */
    24 /*
    25  * @test
    26  * @bug 6356530
    27  * @summary -Xlint:serial does not flag abstract classes with concrete methods/members
    28  * @compile/fail/ref=FinalVariableAssignedToInCatchBlockTest.out -XDrawDiagnostics FinalVariableAssignedToInCatchBlockTest.java
    29  */
    31 import java.io.IOException;
    33 public class FinalVariableAssignedToInCatchBlockTest {
    34     public void m1(int o)
    35     {
    36         final int i;
    37         try {
    38             if (o == 1) {
    39                 throw new IOException();
    40             } else if (o == 2) {
    41                 throw new InterruptedException();
    42             } else {
    43                 throw new Exception();
    44             }
    45         } catch (IOException e) {
    46             i = 1;
    47         } catch (InterruptedException ie) {
    48             i = 2;
    49         } catch (Exception e) {
    50             i = 3;
    51         } finally {
    52             i = 4;
    53         }
    54     }
    56     public void m2(int o)
    57     {
    58         final int i;
    59         try {
    60             if (o == 1) {
    61                 throw new IOException();
    62             } else if (o == 2) {
    63                 throw new InterruptedException();
    64             } else {
    65                 throw new Exception();
    66             }
    67         } catch (IOException e) {
    68             i = 1;
    69         } catch (InterruptedException ie) {
    70             i = 2;
    71         } catch (Exception e) {
    72             i = 3;
    73         }
    74     }
    76     public void m3(int o) throws Exception
    77     {
    78         final int i;
    79         try {
    80             if (o == 1) {
    81                 throw new IOException();
    82             } else if (o == 2) {
    83                 throw new InterruptedException();
    84             } else {
    85                 throw new Exception();
    86             }
    87         } catch (IOException e) {
    88             i = 1;
    89         } catch (InterruptedException ie) {
    90             i = 2;
    91         }
    92         i = 3;
    93     }
    94 }

mercurial