1 /*
   2  * Copyright (c) 2007, 2014, 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  */
  23 
  24 /**
  25  * @test
  26  * @bug     6464451
  27  * @summary javac in 5.0ux can not compile try-finally block which has a lot of "return"
  28  * @author  Wei Tao
  29  * @compile/fail BigFinally.java
  30  */
  31 
  32 public class BigFinally {
  33     static public int func(int i) {
  34         try {
  35             if(i == 1) return 1;
  36         } finally {
  37             try {
  38                 if(i == 2) return 2;
  39                 if(i == 3 ) return 3;
  40                 if(i == 4 ) return 4;
  41                 if(i == 5 ) return 5;
  42                 if(i == 6 ) return 6;
  43                 if(i == 7 ) return 7;
  44                 if(i == 8 ) return 8;
  45                 if(i == 9 ) return 9;
  46                 if(i == 10 ) return 10;
  47                 if(i == 11 ) return 11;
  48                 if(i == 12 ) return 12;
  49                 if(i == 13 ) return 13;
  50                 if(i == 14 ) return 14;
  51                 if(i == 15 ) return 15;
  52                 if(i == 16 ) return 16;
  53                 if(i == 17 ) return 17;
  54                 if(i == 18 ) return 18;
  55                 if(i == 19 ) return 19;
  56                 if(i == 20 ) return 20;
  57                 if(i == 21 ) return 21;
  58                 if(i == 22 ) return 22;
  59                 if(i == 23 ) return 23;
  60                 if(i == 24 ) return 24;
  61                 if(i == 25 ) return 25;
  62                 if(i == 26 ) return 26;
  63                 if(i == 27 ) return 27;
  64                 if(i == 28 ) return 28;
  65                 if(i == 29 ) return 29;
  66                 if(i == 30 ) return 30;
  67                 if(i == 31 ) return 31;
  68                 if(i == 32 ) return 32;
  69                 if(i == 33 ) return 33;
  70                 if(i == 34 ) return 34;
  71                 if(i == 35 ) return 35;
  72                 if(i == 36 ) return 36;
  73                 if(i == 37 ) return 37;
  74                 if(i == 38 ) return 38;
  75                 if(i == 39 ) return 39;
  76                 if(i == 40 ) return 40;
  77                 if(i == 41 ) return 41;
  78                 if(i == 42 ) return 42;
  79                 if(i == 43 ) return 43;
  80                 if(i == 44 ) return 44;
  81                 if(i == 45 ) return 45;
  82                 if(i == 46 ) return 46;
  83                 if(i == 47 ) return 47;
  84                 if(i == 48 ) return 48;
  85                 if(i == 49 ) return 49;
  86                 if(i == 50 ) return 50;
  87                 if(i == 51 ) return 51;
  88                 if(i == 52 ) return 52;
  89                 if(i == 53 ) return 53;
  90                 if(i == 54 ) return 54;
  91                 if(i == 55 ) return 55;
  92                 if(i == 56 ) return 56;
  93                 if(i == 57 ) return 57;
  94                 if(i == 58 ) return 58;
  95                 if(i == 59 ) return 59;
  96                 if(i == 60 ) return 60;
  97                 if(i == 61 ) return 61;
  98                 if(i == 62 ) return 62;
  99                 if(i == 63 ) return 63;
 100                 if(i == 64 ) return 64;
 101                 if(i == 65 ) return 65;
 102                 if(i == 66 ) return 66;
 103                 if(i == 67 ) return 67;
 104                 if(i == 68 ) return 68;
 105                 if(i == 69 ) return 69;
 106                 if(i == 70 ) return 70;
 107                 if(i == 71 ) return 71;
 108                 if(i == 72 ) return 72;
 109                 if(i == 73 ) return 73;
 110                 if(i == 74 ) return 74;
 111                 if(i == 75 ) return 75;
 112                 if(i == 76 ) return 76;
 113                 if(i == 77 ) return 77;
 114                 if(i == 78 ) return 78;
 115                 if(i == 79 ) return 79;
 116                 if(i == 80 ) return 80;
 117                 if(i == 81 ) return 81;
 118                 if(i == 82 ) return 82;
 119                 if(i == 83 ) return 83;
 120                 if(i == 84 ) return 84;
 121                 if(i == 85 ) return 85;
 122                 if(i == 86 ) return 86;
 123                 if(i == 87 ) return 87;
 124                 if(i == 88 ) return 88;
 125                 if(i == 89 ) return 89;
 126                 if(i == 90 ) return 90;
 127                 if(i == 91 ) return 91;
 128                 if(i == 92 ) return 92;
 129                 if(i == 93 ) return 93;
 130                 if(i == 94 ) return 94;
 131                 if(i == 95 ) return 95;
 132                 if(i == 96 ) return 96;
 133                 if(i == 97 ) return 97;
 134                 if(i == 98 ) return 98;
 135                 if(i == 99 ) return 99;
 136                 if(i == 100 ) return 100;
 137             } finally {
 138                 int x = 0;
 139                 x += 1;
 140                 x += 2;
 141                 x += 3;
 142                 x += 4;
 143                 x += 5;
 144                 x += 6;
 145                 x += 7;
 146                 x += 8;
 147                 x += 9;
 148                 x += 10;
 149                 x += 11;
 150                 x += 12;
 151                 x += 13;
 152                 x += 14;
 153                 x += 15;
 154                 x += 16;
 155                 x += 17;
 156                 x += 18;
 157                 x += 19;
 158                 x += 20;
 159                 x += 21;
 160                 x += 22;
 161                 x += 23;
 162                 x += 24;
 163                 x += 25;
 164                 x += 26;
 165                 x += 27;
 166                 x += 28;
 167                 x += 29;
 168                 x += 30;
 169                 x += 31;
 170                 x += 32;
 171                 x += 33;
 172                 x += 34;
 173                 x += 35;
 174                 x += 36;
 175                 x += 37;
 176                 x += 38;
 177                 x += 39;
 178                 x += 40;
 179                 x += 41;
 180                 x += 42;
 181                 x += 43;
 182                 x += 44;
 183                 x += 45;
 184                 x += 46;
 185                 x += 47;
 186                 x += 48;
 187                 x += 49;
 188                 x += 50;
 189                 x += 51;
 190                 x += 52;
 191                 x += 53;
 192                 x += 54;
 193                 x += 55;
 194                 x += 56;
 195                 x += 57;
 196                 x += 58;
 197                 x += 59;
 198                 x += 60;
 199                 x += 61;
 200                 x += 62;
 201                 x += 63;
 202                 x += 64;
 203                 x += 65;
 204                 x += 66;
 205                 x += 67;
 206                 x += 68;
 207                 x += 69;
 208                 x += 70;
 209                 x += 71;
 210                 x += 72;
 211                 x += 73;
 212                 x += 74;
 213                 x += 75;
 214                 x += 76;
 215                 x += 77;
 216                 x += 78;
 217                 x += 79;
 218                 x += 80;
 219                 x += 81;
 220                 x += 82;
 221                 x += 83;
 222                 x += 84;
 223                 x += 85;
 224                 x += 86;
 225                 x += 87;
 226                 x += 88;
 227                 x += 89;
 228                 x += 90;
 229                 x += 91;
 230                 x += 92;
 231                 x += 93;
 232                 x += 94;
 233                 x += 95;
 234                 x += 96;
 235                 x += 97;
 236                 x += 98;
 237                 x += 99;
 238                 x += 100;
 239             }
 240         }
 241         return 0;
 242     }
 243 }