xref: /aosp_15_r20/dalvik/dx/tests/096-dex-giant-catch/build (revision 055d459012065f78d96b68be8421640240ddf631)
1*055d4590SKeyi Gui#!/bin/bash
2*055d4590SKeyi Gui#
3*055d4590SKeyi Gui# Copyright (C) 2017 The Android Open Source Project
4*055d4590SKeyi Gui#
5*055d4590SKeyi Gui# Licensed under the Apache License, Version 2.0 (the "License");
6*055d4590SKeyi Gui# you may not use this file except in compliance with the License.
7*055d4590SKeyi Gui# You may obtain a copy of the License at
8*055d4590SKeyi Gui#
9*055d4590SKeyi Gui#     http://www.apache.org/licenses/LICENSE-2.0
10*055d4590SKeyi Gui#
11*055d4590SKeyi Gui# Unless required by applicable law or agreed to in writing, software
12*055d4590SKeyi Gui# distributed under the License is distributed on an "AS IS" BASIS,
13*055d4590SKeyi Gui# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*055d4590SKeyi Gui# See the License for the specific language governing permissions and
15*055d4590SKeyi Gui# limitations under the License.
16*055d4590SKeyi Gui
17*055d4590SKeyi Gui# Write out a file with a really huge catch range.
18*055d4590SKeyi Gui
19*055d4590SKeyi Guiawk '
20*055d4590SKeyi GuiBEGIN {
21*055d4590SKeyi Gui    fileName = "Zorch.java";
22*055d4590SKeyi Gui    printf("public class Zorch {\n") > fileName;
23*055d4590SKeyi Gui    printf("    static public void test() {\n") > fileName;
24*055d4590SKeyi Gui    printf("        try {\n") > fileName;
25*055d4590SKeyi Gui    for (i = 0; i <= 1800; i++) {
26*055d4590SKeyi Gui        d = i + 1000000;
27*055d4590SKeyi Gui        printf("    Blort.blort(100%dL, 200%dL, 300%dL, 400%dL, 500%dL, " \
28*055d4590SKeyi Gui            "600%dL, 700%dL, 800%dL);\n",
29*055d4590SKeyi Gui            d, d + 1, d + 2, d + 3, d + 4, d + 5, d + 6, d + 7) > fileName;
30*055d4590SKeyi Gui    }
31*055d4590SKeyi Gui    printf("        } catch (RuntimeException ex) {\n") > fileName;
32*055d4590SKeyi Gui    printf("            throw ex;\n") > fileName;
33*055d4590SKeyi Gui    printf("        }\n") > fileName;
34*055d4590SKeyi Gui    printf("    }\n") > fileName;
35*055d4590SKeyi Gui    printf("}\n") > fileName;
36*055d4590SKeyi Gui}'
37*055d4590SKeyi Gui
38*055d4590SKeyi Gui$JAVAC -Xlint:-options -source 1.7 -target 1.7 -d . *.java
39