test/tools/javac/6464451/BigFinally.java

changeset 1
9a66ca7c79fa
child 287
44eaac2b4501
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/test/tools/javac/6464451/BigFinally.java	Sat Dec 01 00:00:00 2007 +0000
     1.3 @@ -0,0 +1,245 @@
     1.4 +/*
     1.5 + * Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
     1.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.7 + *
     1.8 + * This code is free software; you can redistribute it and/or modify it
     1.9 + * under the terms of the GNU General Public License version 2 only, as
    1.10 + * published by the Free Software Foundation.
    1.11 + *
    1.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
    1.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    1.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    1.15 + * version 2 for more details (a copy is included in the LICENSE file that
    1.16 + * accompanied this code).
    1.17 + *
    1.18 + * You should have received a copy of the GNU General Public License version
    1.19 + * 2 along with this work; if not, write to the Free Software Foundation,
    1.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    1.21 + *
    1.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    1.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
    1.24 + * have any questions.
    1.25 + */
    1.26 +
    1.27 +/**
    1.28 + * @test
    1.29 + * @bug     6464451
    1.30 + * @summary javac in 5.0ux can not compile try-finally block which has a lot of "return"
    1.31 + * @author  Wei Tao
    1.32 + * @compile -target 5 BigFinally.java
    1.33 + * @clean BigFinally
    1.34 + * @compile/fail BigFinally.java
    1.35 + */
    1.36 +
    1.37 +public class BigFinally {
    1.38 +    static public int func(int i) {
    1.39 +        try {
    1.40 +            if(i == 1) return 1;
    1.41 +        } finally {
    1.42 +            try {
    1.43 +                if(i == 2) return 2;
    1.44 +                if(i == 3 ) return 3;
    1.45 +                if(i == 4 ) return 4;
    1.46 +                if(i == 5 ) return 5;
    1.47 +                if(i == 6 ) return 6;
    1.48 +                if(i == 7 ) return 7;
    1.49 +                if(i == 8 ) return 8;
    1.50 +                if(i == 9 ) return 9;
    1.51 +                if(i == 10 ) return 10;
    1.52 +                if(i == 11 ) return 11;
    1.53 +                if(i == 12 ) return 12;
    1.54 +                if(i == 13 ) return 13;
    1.55 +                if(i == 14 ) return 14;
    1.56 +                if(i == 15 ) return 15;
    1.57 +                if(i == 16 ) return 16;
    1.58 +                if(i == 17 ) return 17;
    1.59 +                if(i == 18 ) return 18;
    1.60 +                if(i == 19 ) return 19;
    1.61 +                if(i == 20 ) return 20;
    1.62 +                if(i == 21 ) return 21;
    1.63 +                if(i == 22 ) return 22;
    1.64 +                if(i == 23 ) return 23;
    1.65 +                if(i == 24 ) return 24;
    1.66 +                if(i == 25 ) return 25;
    1.67 +                if(i == 26 ) return 26;
    1.68 +                if(i == 27 ) return 27;
    1.69 +                if(i == 28 ) return 28;
    1.70 +                if(i == 29 ) return 29;
    1.71 +                if(i == 30 ) return 30;
    1.72 +                if(i == 31 ) return 31;
    1.73 +                if(i == 32 ) return 32;
    1.74 +                if(i == 33 ) return 33;
    1.75 +                if(i == 34 ) return 34;
    1.76 +                if(i == 35 ) return 35;
    1.77 +                if(i == 36 ) return 36;
    1.78 +                if(i == 37 ) return 37;
    1.79 +                if(i == 38 ) return 38;
    1.80 +                if(i == 39 ) return 39;
    1.81 +                if(i == 40 ) return 40;
    1.82 +                if(i == 41 ) return 41;
    1.83 +                if(i == 42 ) return 42;
    1.84 +                if(i == 43 ) return 43;
    1.85 +                if(i == 44 ) return 44;
    1.86 +                if(i == 45 ) return 45;
    1.87 +                if(i == 46 ) return 46;
    1.88 +                if(i == 47 ) return 47;
    1.89 +                if(i == 48 ) return 48;
    1.90 +                if(i == 49 ) return 49;
    1.91 +                if(i == 50 ) return 50;
    1.92 +                if(i == 51 ) return 51;
    1.93 +                if(i == 52 ) return 52;
    1.94 +                if(i == 53 ) return 53;
    1.95 +                if(i == 54 ) return 54;
    1.96 +                if(i == 55 ) return 55;
    1.97 +                if(i == 56 ) return 56;
    1.98 +                if(i == 57 ) return 57;
    1.99 +                if(i == 58 ) return 58;
   1.100 +                if(i == 59 ) return 59;
   1.101 +                if(i == 60 ) return 60;
   1.102 +                if(i == 61 ) return 61;
   1.103 +                if(i == 62 ) return 62;
   1.104 +                if(i == 63 ) return 63;
   1.105 +                if(i == 64 ) return 64;
   1.106 +                if(i == 65 ) return 65;
   1.107 +                if(i == 66 ) return 66;
   1.108 +                if(i == 67 ) return 67;
   1.109 +                if(i == 68 ) return 68;
   1.110 +                if(i == 69 ) return 69;
   1.111 +                if(i == 70 ) return 70;
   1.112 +                if(i == 71 ) return 71;
   1.113 +                if(i == 72 ) return 72;
   1.114 +                if(i == 73 ) return 73;
   1.115 +                if(i == 74 ) return 74;
   1.116 +                if(i == 75 ) return 75;
   1.117 +                if(i == 76 ) return 76;
   1.118 +                if(i == 77 ) return 77;
   1.119 +                if(i == 78 ) return 78;
   1.120 +                if(i == 79 ) return 79;
   1.121 +                if(i == 80 ) return 80;
   1.122 +                if(i == 81 ) return 81;
   1.123 +                if(i == 82 ) return 82;
   1.124 +                if(i == 83 ) return 83;
   1.125 +                if(i == 84 ) return 84;
   1.126 +                if(i == 85 ) return 85;
   1.127 +                if(i == 86 ) return 86;
   1.128 +                if(i == 87 ) return 87;
   1.129 +                if(i == 88 ) return 88;
   1.130 +                if(i == 89 ) return 89;
   1.131 +                if(i == 90 ) return 90;
   1.132 +                if(i == 91 ) return 91;
   1.133 +                if(i == 92 ) return 92;
   1.134 +                if(i == 93 ) return 93;
   1.135 +                if(i == 94 ) return 94;
   1.136 +                if(i == 95 ) return 95;
   1.137 +                if(i == 96 ) return 96;
   1.138 +                if(i == 97 ) return 97;
   1.139 +                if(i == 98 ) return 98;
   1.140 +                if(i == 99 ) return 99;
   1.141 +                if(i == 100 ) return 100;
   1.142 +            } finally {
   1.143 +                int x = 0;
   1.144 +                x += 1;
   1.145 +                x += 2;
   1.146 +                x += 3;
   1.147 +                x += 4;
   1.148 +                x += 5;
   1.149 +                x += 6;
   1.150 +                x += 7;
   1.151 +                x += 8;
   1.152 +                x += 9;
   1.153 +                x += 10;
   1.154 +                x += 11;
   1.155 +                x += 12;
   1.156 +                x += 13;
   1.157 +                x += 14;
   1.158 +                x += 15;
   1.159 +                x += 16;
   1.160 +                x += 17;
   1.161 +                x += 18;
   1.162 +                x += 19;
   1.163 +                x += 20;
   1.164 +                x += 21;
   1.165 +                x += 22;
   1.166 +                x += 23;
   1.167 +                x += 24;
   1.168 +                x += 25;
   1.169 +                x += 26;
   1.170 +                x += 27;
   1.171 +                x += 28;
   1.172 +                x += 29;
   1.173 +                x += 30;
   1.174 +                x += 31;
   1.175 +                x += 32;
   1.176 +                x += 33;
   1.177 +                x += 34;
   1.178 +                x += 35;
   1.179 +                x += 36;
   1.180 +                x += 37;
   1.181 +                x += 38;
   1.182 +                x += 39;
   1.183 +                x += 40;
   1.184 +                x += 41;
   1.185 +                x += 42;
   1.186 +                x += 43;
   1.187 +                x += 44;
   1.188 +                x += 45;
   1.189 +                x += 46;
   1.190 +                x += 47;
   1.191 +                x += 48;
   1.192 +                x += 49;
   1.193 +                x += 50;
   1.194 +                x += 51;
   1.195 +                x += 52;
   1.196 +                x += 53;
   1.197 +                x += 54;
   1.198 +                x += 55;
   1.199 +                x += 56;
   1.200 +                x += 57;
   1.201 +                x += 58;
   1.202 +                x += 59;
   1.203 +                x += 60;
   1.204 +                x += 61;
   1.205 +                x += 62;
   1.206 +                x += 63;
   1.207 +                x += 64;
   1.208 +                x += 65;
   1.209 +                x += 66;
   1.210 +                x += 67;
   1.211 +                x += 68;
   1.212 +                x += 69;
   1.213 +                x += 70;
   1.214 +                x += 71;
   1.215 +                x += 72;
   1.216 +                x += 73;
   1.217 +                x += 74;
   1.218 +                x += 75;
   1.219 +                x += 76;
   1.220 +                x += 77;
   1.221 +                x += 78;
   1.222 +                x += 79;
   1.223 +                x += 80;
   1.224 +                x += 81;
   1.225 +                x += 82;
   1.226 +                x += 83;
   1.227 +                x += 84;
   1.228 +                x += 85;
   1.229 +                x += 86;
   1.230 +                x += 87;
   1.231 +                x += 88;
   1.232 +                x += 89;
   1.233 +                x += 90;
   1.234 +                x += 91;
   1.235 +                x += 92;
   1.236 +                x += 93;
   1.237 +                x += 94;
   1.238 +                x += 95;
   1.239 +                x += 96;
   1.240 +                x += 97;
   1.241 +                x += 98;
   1.242 +                x += 99;
   1.243 +                x += 100;
   1.244 +            }
   1.245 +        }
   1.246 +        return 0;
   1.247 +    }
   1.248 +}

mercurial