Lines 283-288
Link Here
|
283 |
this.thrownExceptions = Scope.substitute(this, ignoreRawTypeSubstitution |
283 |
this.thrownExceptions = Scope.substitute(this, ignoreRawTypeSubstitution |
284 |
? originalMethod.thrownExceptions // no substitution if original was static |
284 |
? originalMethod.thrownExceptions // no substitution if original was static |
285 |
: Scope.substitute(rawType, originalMethod.thrownExceptions)); |
285 |
: Scope.substitute(rawType, originalMethod.thrownExceptions)); |
|
|
286 |
// error case where exception type variable would have been substituted by a non-reference type (207573) |
287 |
if (this.thrownExceptions == null) this.thrownExceptions = Binding.NO_EXCEPTIONS; |
286 |
this.returnType = Scope.substitute(this, ignoreRawTypeSubstitution |
288 |
this.returnType = Scope.substitute(this, ignoreRawTypeSubstitution |
287 |
? originalMethod.returnType // no substitution if original was static |
289 |
? originalMethod.returnType // no substitution if original was static |
288 |
: Scope.substitute(rawType, originalMethod.returnType)); |
290 |
: Scope.substitute(rawType, originalMethod.returnType)); |
Lines 305-310
Link Here
|
305 |
this.originalMethod = originalMethod; |
307 |
this.originalMethod = originalMethod; |
306 |
this.parameters = Scope.substitute(this, originalMethod.parameters); |
308 |
this.parameters = Scope.substitute(this, originalMethod.parameters); |
307 |
this.thrownExceptions = Scope.substitute(this, originalMethod.thrownExceptions); |
309 |
this.thrownExceptions = Scope.substitute(this, originalMethod.thrownExceptions); |
|
|
310 |
// error case where exception type variable would have been substituted by a non-reference type (207573) |
311 |
if (this.thrownExceptions == null) this.thrownExceptions = Binding.NO_EXCEPTIONS; |
308 |
this.returnType = Scope.substitute(this, originalMethod.returnType); |
312 |
this.returnType = Scope.substitute(this, originalMethod.returnType); |
309 |
this.wasInferred = true;// resulting from method invocation inferrence |
313 |
this.wasInferred = true;// resulting from method invocation inferrence |
310 |
} |
314 |
} |
Lines 431-436
Link Here
|
431 |
this.inferredReturnType = inferenceContext.hasExplicitExpectedType && this.returnType != oldReturnType; |
435 |
this.inferredReturnType = inferenceContext.hasExplicitExpectedType && this.returnType != oldReturnType; |
432 |
this.parameters = Scope.substitute(this, this.parameters); |
436 |
this.parameters = Scope.substitute(this, this.parameters); |
433 |
this.thrownExceptions = Scope.substitute(this, this.thrownExceptions); |
437 |
this.thrownExceptions = Scope.substitute(this, this.thrownExceptions); |
|
|
438 |
// error case where exception type variable would have been substituted by a non-reference type (207573) |
439 |
if (this.thrownExceptions == null) this.thrownExceptions = Binding.NO_EXCEPTIONS; |
434 |
return this; |
440 |
return this; |
435 |
} |
441 |
} |
436 |
|
442 |
|