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
25 class PrimitiveOverReference {
26 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
27 static void m_byte(byte b) {}
28 @Candidate
29 static void m_byte(Byte b) {}
30 @Candidate
31 static <B> void m_byte(B b) {}
33 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
34 static void m_short(short s) {}
35 @Candidate
36 static void m_short(Short s) {}
37 @Candidate
38 static <S> void m_short(S s) {}
40 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
41 static void m_int(int i) {}
42 @Candidate
43 static void m_int(Integer i) {}
44 @Candidate
45 static <I> void m_int(I i) {}
47 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
48 static void m_long(long l) {}
49 @Candidate
50 static void m_long(Long l) {}
51 @Candidate
52 static <L> void m_long(L l) {}
54 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
55 static void m_float(float f) {}
56 @Candidate
57 static void m_float(Float f) {}
58 @Candidate
59 static <F> void m_float(F f) {}
61 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
62 static void m_double(double d) {}
63 @Candidate
64 static void m_double(Double d) {}
65 @Candidate
66 static <D> void m_double(D d) {}
68 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
69 static void m_char(char c) {}
70 @Candidate
71 static void m_char(Character c) {}
72 @Candidate
73 static <C> void m_char(C c) {}
75 @Candidate(applicable=Phase.BASIC, mostSpecific=true)
76 static void m_bool(boolean z) {}
77 @Candidate
78 static void m_bool(Boolean z) {}
79 @Candidate
80 static <Z> void m_bool(Z z) {}
82 {
83 m_byte((byte)0);
84 m_short((short)0);
85 m_int(0);
86 m_long(0L);
87 m_float(0.0f);
88 m_double(0.0);
89 m_char('?');
90 m_bool(false);
91 }
92 }