AbstractMerge.java revision 3170:dc017a37aac5
11541Srgrimes/* 21541Srgrimes * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 31541Srgrimes * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 41541Srgrimes * 51541Srgrimes * This code is free software; you can redistribute it and/or modify it 61541Srgrimes * under the terms of the GNU General Public License version 2 only, as 71541Srgrimes * published by the Free Software Foundation. 81541Srgrimes * 91541Srgrimes * This code is distributed in the hope that it will be useful, but WITHOUT 101541Srgrimes * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 111541Srgrimes * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 121541Srgrimes * version 2 for more details (a copy is included in the LICENSE file that 131541Srgrimes * accompanied this code). 141541Srgrimes * 151541Srgrimes * You should have received a copy of the GNU General Public License version 161541Srgrimes * 2 along with this work; if not, write to the Free Software Foundation, 171541Srgrimes * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 181541Srgrimes * 191541Srgrimes * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 201541Srgrimes * or visit www.oracle.com if you need additional information or have any 211541Srgrimes * questions. 221541Srgrimes */ 231541Srgrimes 241541Srgrimes@TraceResolve 251541Srgrimesclass AbstractMerge { 261541Srgrimes 271541Srgrimes interface A { 281541Srgrimes @Candidate(applicable=Phase.BASIC) 291541Srgrimes java.io.Serializable m1(); 3050477Speter @Candidate(applicable=Phase.BASIC) 311541Srgrimes java.io.Serializable m2(); 321541Srgrimes @Candidate(applicable=Phase.BASIC) 331541Srgrimes java.io.Serializable m3(); 341541Srgrimes @Candidate(applicable=Phase.BASIC) 351541Srgrimes java.io.Serializable m4(); 361541Srgrimes @Candidate(applicable=Phase.BASIC) 371541Srgrimes java.io.Serializable m5(); 381541Srgrimes @Candidate(applicable=Phase.BASIC) 3932350Seivind java.io.Serializable m6(); 4041793Sluigi } 41101090Srwatson 4232350Seivind interface B { 431541Srgrimes @Candidate(applicable=Phase.BASIC) 4412693Sphk Cloneable m1(); 4544078Sdfr @Candidate(applicable=Phase.BASIC) 4612693Sphk Cloneable m2(); 471541Srgrimes @Candidate(applicable=Phase.BASIC) 48101090Srwatson Cloneable m3(); 4912693Sphk @Candidate(applicable=Phase.BASIC) 501541Srgrimes Cloneable m4(); 5118892Sbde @Candidate(applicable=Phase.BASIC) 521541Srgrimes Cloneable m5(); 531541Srgrimes @Candidate(applicable=Phase.BASIC) 541541Srgrimes Cloneable m6(); 551541Srgrimes } 5644165Sjulian 571541Srgrimes interface C { 588426Swollman @Candidate(applicable=Phase.BASIC, mostSpecific=true) 5958313Slile Object[] m1(); 6071963Sjulian @Candidate(applicable=Phase.BASIC, mostSpecific=true) 6171963Sjulian Object[] m2(); 621541Srgrimes @Candidate(applicable=Phase.BASIC, mostSpecific=true) 631541Srgrimes Object[] m3(); 641541Srgrimes @Candidate(applicable=Phase.BASIC, mostSpecific=true) 651541Srgrimes Object[] m4(); 661541Srgrimes @Candidate(applicable=Phase.BASIC, mostSpecific=true) 6784931Sfjoe Object[] m5(); 6844627Sjulian @Candidate(applicable=Phase.BASIC, mostSpecific=true) 6944627Sjulian Object[] m6(); 701541Srgrimes } 711541Srgrimes 721541Srgrimes interface ABC extends A, B, C { } 7344078Sdfr interface ACB extends A, C, B { } 7412942Swollman interface BAC extends B, A, C { } 751541Srgrimes interface BCA extends B, C, A { } 7612693Sphk interface CAB extends C, A, B { } 7712942Swollman interface CBA extends C, B, A { } 7812942Swollman 7912942Swollman { 801541Srgrimes ABC abc = null; 8112942Swollman abc.m1(); 8212942Swollman } 8312942Swollman 8412942Swollman { 8512942Swollman ACB acb = null; 8612942Swollman acb.m2(); 8712693Sphk } 881541Srgrimes 891541Srgrimes { 9011225Swollman BAC bac = null; 9160938Sjake bac.m3(); 9211225Swollman } 93110308Sorion 94110544Sorion { 95110308Sorion BCA bca = null; 9611225Swollman bca.m4(); 9711225Swollman } 9812693Sphk 9960938Sjake { 10011225Swollman CAB cab = null; 101111888Sjlemon cab.m5(); 102120727Ssam } 1031541Srgrimes 10412693Sphk { 10512942Swollman CBA cba = null; 10612942Swollman cba.m6(); 107120727Ssam } 1083282Swollman} 10912942Swollman