Lines 253-267
Link Here
|
253 |
ArrayBinding varargsType = (ArrayBinding) binding.parameters[varargsIndex]; |
253 |
ArrayBinding varargsType = (ArrayBinding) binding.parameters[varargsIndex]; |
254 |
TypeBinding lastArgType = alternateArgumentTypes[varargsIndex]; |
254 |
TypeBinding lastArgType = alternateArgumentTypes[varargsIndex]; |
255 |
// originalType may be compatible already, but cast mandated to clarify between varargs/non-varargs call |
255 |
// originalType may be compatible already, but cast mandated to clarify between varargs/non-varargs call |
256 |
int dimensions = lastArgType.dimensions(); |
256 |
if (varargsType.dimensions != lastArgType.dimensions()) { |
257 |
if (varargsType.dimensions < dimensions) { |
|
|
258 |
return; |
257 |
return; |
259 |
} else if (varargsType.dimensions == dimensions) { |
258 |
} |
260 |
if (lastArgType.isCompatibleWith(varargsType.elementsType()) |
259 |
if (lastArgType.isCompatibleWith(varargsType.elementsType()) |
261 |
&& lastArgType.isCompatibleWith(varargsType)) { |
260 |
&& lastArgType.isCompatibleWith(varargsType)) { |
262 |
return; |
261 |
return; |
263 |
} |
262 |
} |
264 |
} |
|
|
265 |
} |
263 |
} |
266 |
} |
264 |
} |
267 |
for (int i = 0; i < argumentLength; i++) { |
265 |
for (int i = 0; i < argumentLength; i++) { |