1d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph/*
2d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * Copyright (C) 2012 The Android Open Source Project
3d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph *
4d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * Licensed under the Apache License, Version 2.0 (the "License");
5d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * you may not use this file except in compliance with the License.
6d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * You may obtain a copy of the License at
7d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph *
8d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph *      http://www.apache.org/licenses/LICENSE-2.0
9d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph *
10d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * Unless required by applicable law or agreed to in writing, software
11d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * distributed under the License is distributed on an "AS IS" BASIS,
12d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * See the License for the specific language governing permissions and
14d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * limitations under the License.
15d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph */
16d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
17d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph/**
18d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * Create a hierarchy of interfaces to check if that overflows the LinearAlloc
19d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph * with iftable entries.
20d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph */
21d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolphpublic class Main {
22d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface A1 {}
23d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface A2 {}
24d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface A3 {}
25d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface A4 {}
26d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface A5 {}
27d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
28d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface B1 extends A1, A2, A3, A4, A5 {}
29d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface B2 extends A1, A2, A3, A4, A5 {}
30d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface B3 extends A1, A2, A3, A4, A5 {}
31d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface B4 extends A1, A2, A3, A4, A5 {}
32d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface B5 extends A1, A2, A3, A4, A5 {}
33d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
34d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface C1 extends B1, B2, B3, B4, B5 {}
35d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface C2 extends B1, B2, B3, B4, B5 {}
36d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface C3 extends B1, B2, B3, B4, B5 {}
37d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface C4 extends B1, B2, B3, B4, B5 {}
38d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface C5 extends B1, B2, B3, B4, B5 {}
39d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
40d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface D1 extends C1, C2, C3, C4, C5 {}
41d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface D2 extends C1, C2, C3, C4, C5 {}
42d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface D3 extends C1, C2, C3, C4, C5 {}
43d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface D4 extends C1, C2, C3, C4, C5 {}
44d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface D5 extends C1, C2, C3, C4, C5 {}
45d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
46d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface E1 extends D1, D2, D3, D4, D5 {}
47d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface E2 extends D1, D2, D3, D4, D5 {}
48d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface E3 extends D1, D2, D3, D4, D5 {}
49d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface E4 extends D1, D2, D3, D4, D5 {}
50d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface E5 extends D1, D2, D3, D4, D5 {}
51d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
52d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface F1 extends E1, E2, E3, E4, E5 {}
53d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface F2 extends E1, E2, E3, E4, E5 {}
54d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface F3 extends E1, E2, E3, E4, E5 {}
55d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface F4 extends E1, E2, E3, E4, E5 {}
56d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface F5 extends E1, E2, E3, E4, E5 {}
57d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
58d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface G1 extends F1, F2, F3, F4, F5 {}
59d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface G2 extends F1, F2, F3, F4, F5 {}
60d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface G3 extends F1, F2, F3, F4, F5 {}
61d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface G4 extends F1, F2, F3, F4, F5 {}
62d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface G5 extends F1, F2, F3, F4, F5 {}
63d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
64d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface H1 extends G1, G2, G3, G4, G5 {}
65d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface H2 extends G1, G2, G3, G4, G5 {}
66d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface H3 extends G1, G2, G3, G4, G5 {}
67d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface H4 extends G1, G2, G3, G4, G5 {}
68d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface H5 extends G1, G2, G3, G4, G5 {}
69d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
70d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    interface Z extends H1, H2, H3, H4, H5 {}
71d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph
72d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    public static void main(String[] args) {
73d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph        Z instance = new Z() {};
74d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph        System.out.println("A new instance of Z was created successfully");
75d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph    }
76d8a81cfd749c629de84db32eee3703cc5e0dc28fJohannes Rudolph}
77