Lines 265-287
Link Here
|
265 |
if (runtimeTimeType == null || compileTimeType == null) |
265 |
if (runtimeTimeType == null || compileTimeType == null) |
266 |
return; |
266 |
return; |
267 |
// set the generic cast after the fact, once the type expectation is fully known (no need for strict cast) |
267 |
// set the generic cast after the fact, once the type expectation is fully known (no need for strict cast) |
268 |
FieldBinding field = null; |
268 |
if ((bits & FIELD) != 0) { |
269 |
int length = this.otherBindings == null ? 0 : this.otherBindings.length; |
269 |
FieldBinding field = null; |
270 |
if (length == 0) { |
270 |
int length = this.otherBindings == null ? 0 : this.otherBindings.length; |
271 |
if (this.binding != null && this.binding.isValidBinding()) { |
271 |
if (length == 0) { |
272 |
field = (FieldBinding) this.binding; |
272 |
if (this.binding != null && this.binding.isValidBinding()) { |
273 |
} |
273 |
field = (FieldBinding) this.binding; |
274 |
} else { |
274 |
} |
275 |
field = this.otherBindings[length-1]; |
275 |
} else { |
276 |
} |
276 |
field = this.otherBindings[length-1]; |
277 |
if (field != null) { |
277 |
} |
278 |
FieldBinding originalBinding = field.original(); |
278 |
if (field != null) { |
279 |
if (originalBinding != field) { |
279 |
FieldBinding originalBinding = field.original(); |
280 |
// extra cast needed if method return type has type variable |
280 |
if (originalBinding != field) { |
281 |
if ((originalBinding.type.tagBits & TagBits.HasTypeVariable) != 0 && runtimeTimeType.id != T_Object) { |
281 |
// extra cast needed if method return type has type variable |
282 |
setGenericCast(length,originalBinding.type.genericCast(runtimeTimeType)); |
282 |
if ((originalBinding.type.tagBits & TagBits.HasTypeVariable) != 0 && runtimeTimeType.id != T_Object) { |
283 |
} |
283 |
setGenericCast(length,originalBinding.type.genericCast(runtimeTimeType)); |
284 |
} |
284 |
} |
|
|
285 |
} |
286 |
} |
285 |
} |
287 |
} |
286 |
super.computeConversion(scope, runtimeTimeType, compileTimeType); |
288 |
super.computeConversion(scope, runtimeTimeType, compileTimeType); |
287 |
} |
289 |
} |