Fri, 24 May 2013 15:27:12 +0100
8014649: Regression: bug in Resolve.resolveOperator
Summary: Missing curly braces causes Resolve.findMethod to be called spuriously
Reviewed-by: jjg, vromero
1 /*
2 * Copyright (c) 2011, 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 */
24 @TraceResolve(keys={"compiler.err.ref.ambiguous"})
25 class PrimitiveOverReferenceVarargsAmbiguous {
26 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
27 static void m_byte(byte... b) {}
28 @Candidate(applicable=Phase.VARARGS)
29 static void m_byte(Byte... b) {}
31 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
32 static void m_short(short... s) {}
33 @Candidate(applicable=Phase.VARARGS)
34 static void m_short(Short... s) {}
36 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
37 static void m_int(int... i) {}
38 @Candidate(applicable=Phase.VARARGS)
39 static void m_int(Integer... i) {}
41 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
42 static void m_long(long... l) {}
43 @Candidate(applicable=Phase.VARARGS)
44 static void m_long(Long... l) {}
46 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
47 static void m_float(float... f) {}
48 @Candidate(applicable=Phase.VARARGS)
49 static void m_float(Float... f) {}
51 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
52 static void m_double(double... d) {}
53 @Candidate(applicable=Phase.VARARGS)
54 static void m_double(Double... d) {}
56 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
57 static void m_char(char... c) {}
58 @Candidate(applicable=Phase.VARARGS)
59 static void m_char(Character... c) {}
61 @Candidate(applicable=Phase.VARARGS, mostSpecific=true)
62 static void m_bool(boolean... z) {}
63 @Candidate(applicable=Phase.VARARGS)
64 static void m_bool(Boolean... z) {}
66 {
67 m_byte((byte)0);
68 m_short((short)0);
69 m_int(0);
70 m_long(0L);
71 m_float(0.0f);
72 m_double(0.0);
73 m_char('?');
74 m_bool(false);
75 }
76 }