src/share/classes/com/sun/tools/javac/comp/Check.java

changeset 2543
c6d5efccedc3
parent 2431
37c7dbe8efee
child 2553
191d1aecdf68
equal deleted inserted replaced
2542:fa6e91185a27 2543:c6d5efccedc3
529 return checkType(pos, found, req, basicHandler); 529 return checkType(pos, found, req, basicHandler);
530 } 530 }
531 531
532 Type checkType(final DiagnosticPosition pos, final Type found, final Type req, final CheckContext checkContext) { 532 Type checkType(final DiagnosticPosition pos, final Type found, final Type req, final CheckContext checkContext) {
533 final Infer.InferenceContext inferenceContext = checkContext.inferenceContext(); 533 final Infer.InferenceContext inferenceContext = checkContext.inferenceContext();
534 if (inferenceContext.free(req)) { 534 if (inferenceContext.free(req) || inferenceContext.free(found)) {
535 inferenceContext.addFreeTypeListener(List.of(req), new FreeTypeListener() { 535 inferenceContext.addFreeTypeListener(List.of(req, found), new FreeTypeListener() {
536 @Override 536 @Override
537 public void typesInferred(InferenceContext inferenceContext) { 537 public void typesInferred(InferenceContext inferenceContext) {
538 checkType(pos, inferenceContext.asInstType(found), inferenceContext.asInstType(req), checkContext); 538 checkType(pos, inferenceContext.asInstType(found), inferenceContext.asInstType(req), checkContext);
539 } 539 }
540 }); 540 });

mercurial