1/* 2 * Copyright (c) 2008, 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 24import java.util.*; 25 26abstract class Test<T,E extends Exception & Comparable<T>,U extends Comparable> { 27 T t; 28 29 Test(T t) { } 30 <G> Test(G g, int i) { } 31 32 Test(String... args) { } 33 Test(int i, Object[]... args) { } 34 abstract void v1(String... args); 35 abstract void v2(int i, String[]... args); 36 37 abstract void a1(int x); 38 abstract void a2(int[] x); 39 abstract void a3(T x); 40 abstract void a4(T[] x); 41 42 abstract int r1(); 43 abstract int[] r2(); 44 abstract T r3(); 45 abstract T[] r4(); 46 47 abstract <G> void ga1(int x); 48 abstract <G> void ga2(int[] x); 49 abstract <G> void ga3(G x); 50 abstract <G> void ga4(G[] x); 51 52 abstract <G> int gr1(); 53 abstract <G> int[] gr2(); 54 abstract <G> G gr3(); 55 abstract <G> G[] gr4(); 56 57 abstract <G extends Exception> void ge() throws G; 58 59 abstract void w(List<?> l); 60 abstract void we(List<? extends T> l); 61 abstract void ws(List<? super T> l); 62 63 abstract void t1() throws Error; 64 abstract void t2() throws E; 65 abstract void t3() throws E,Error; 66 67 abstract void i1(Test<T, E, Comparable> x); 68 abstract void i3(Test<T, E, Comparable>.Inner<String> x); 69 70 class Inner<Q> { } 71 class Inner2<Q> extends Inner<Q> { } 72 73 class Simple { } 74 75 enum Enum { e1, e2, e3 } 76} 77