1/*
2 * Copyright (C) 2007 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17public class Blort
18{
19    public static void call1() { }
20    public static void call2() { }
21    public static void call3() { }
22    public static void call4() { }
23    public static void call5() { }
24
25    public static int test1() {
26        try {
27            call1();
28            call2();
29        } catch (IndexOutOfBoundsException ex) {
30            return 10;
31        } catch (RuntimeException ex) {
32            return 11;
33        }
34
35        call3();
36        return 12;
37    }
38
39    public static int test2() {
40        try {
41            call1();
42            try {
43                call2();
44            } catch (IndexOutOfBoundsException ex) {
45                return 10;
46            }
47            call3();
48        } catch (RuntimeException ex) {
49            return 11;
50        }
51
52        return 12;
53    }
54
55    public static int test3() {
56        try {
57            call1();
58            try {
59                call2();
60                try {
61                    call3();
62                } catch (NullPointerException ex) {
63                    return 10;
64                }
65                call4();
66            } catch (IndexOutOfBoundsException ex) {
67                return 11;
68            }
69            call5();
70        } catch (RuntimeException ex) {
71            return 12;
72        }
73
74        return 13;
75    }
76
77    public static int test4() {
78        try {
79            call1();
80            try {
81                call2();
82                try {
83                    call3();
84                } catch (NullPointerException ex) {
85                    return 10;
86                }
87            } catch (IndexOutOfBoundsException ex) {
88                return 11;
89            }
90            call5();
91        } catch (RuntimeException ex) {
92            return 12;
93        }
94
95        return 13;
96    }
97
98    public static int test5() {
99        try {
100            call1();
101            try {
102                call2();
103                try {
104                    call3();
105                } catch (NullPointerException ex) {
106                    return 10;
107                }
108            } catch (IndexOutOfBoundsException ex) {
109                return 11;
110            }
111        } catch (RuntimeException ex) {
112            return 12;
113        }
114
115        return 13;
116    }
117
118    public static int test6() {
119        try {
120            try {
121                try {
122                    call1();
123                } catch (NullPointerException ex) {
124                    return 10;
125                }
126                call2();
127            } catch (IndexOutOfBoundsException ex) {
128                return 11;
129            }
130            call3();
131        } catch (RuntimeException ex) {
132            return 12;
133        }
134
135        call4();
136        return 13;
137    }
138
139    public static int test7() {
140        try {
141            call1();
142        } catch (RuntimeException ex) {
143            return 10;
144        }
145
146        try {
147            call2();
148        } catch (RuntimeException ex) {
149            return 11;
150        }
151
152        return 12;
153    }
154
155    public static int test8() {
156        try {
157            call1();
158            call2();
159        } catch (RuntimeException ex) {
160            return 10;
161        }
162
163        try {
164            call3();
165            call4();
166        } catch (RuntimeException ex) {
167            return 11;
168        }
169
170        return 12;
171    }
172
173    public static int test9() {
174        try {
175            call1();
176            try {
177                call2();
178            } catch (IllegalArgumentException ex) {
179                return 10;
180            }
181        } catch (RuntimeException ex) {
182            return 11;
183        }
184
185        try {
186            call3();
187            try {
188                call4();
189            } catch (IllegalArgumentException ex) {
190                return 12;
191            }
192        } catch (RuntimeException ex) {
193            return 13;
194        }
195
196        return 14;
197    }
198
199}
200