equal
deleted
inserted
replaced
446 */ |
446 */ |
447 enum CheckMode { |
447 enum CheckMode { |
448 |
448 |
449 NORMAL, |
449 NORMAL, |
450 |
450 |
451 NO_TREE_UPDATE { // Mode signalling 'fake check' - skip tree update |
451 /** |
|
452 * Mode signalling 'fake check' - skip tree update. A side-effect of this mode is |
|
453 * that the captured var cache in {@code InferenceContext} will be used in read-only |
|
454 * mode when performing inference checks. |
|
455 */ |
|
456 NO_TREE_UPDATE { |
452 @Override |
457 @Override |
453 public boolean updateTreeType() { |
458 public boolean updateTreeType() { |
454 return false; |
459 return false; |
455 } |
460 } |
456 }, |
461 }, |
457 NO_INFERENCE_HOOK { // Mode signalling that caller will manage free types in tree decorations. |
462 /** |
|
463 * Mode signalling that caller will manage free types in tree decorations. |
|
464 */ |
|
465 NO_INFERENCE_HOOK { |
458 @Override |
466 @Override |
459 public boolean installPostInferenceHook() { |
467 public boolean installPostInferenceHook() { |
460 return false; |
468 return false; |
461 } |
469 } |
462 }; |
470 }; |
3767 owntype = capture(owntype); // capture "names as expressions" |
3775 owntype = capture(owntype); // capture "names as expressions" |
3768 } |
3776 } |
3769 break; |
3777 break; |
3770 case MTH: { |
3778 case MTH: { |
3771 owntype = checkMethod(site, sym, |
3779 owntype = checkMethod(site, sym, |
3772 new ResultInfo(resultInfo.pkind, resultInfo.pt.getReturnType(), resultInfo.checkContext), |
3780 new ResultInfo(resultInfo.pkind, resultInfo.pt.getReturnType(), resultInfo.checkContext, resultInfo.checkMode), |
3773 env, TreeInfo.args(env.tree), resultInfo.pt.getParameterTypes(), |
3781 env, TreeInfo.args(env.tree), resultInfo.pt.getParameterTypes(), |
3774 resultInfo.pt.getTypeArguments()); |
3782 resultInfo.pt.getTypeArguments()); |
3775 break; |
3783 break; |
3776 } |
3784 } |
3777 case PCK: case ERR: |
3785 case PCK: case ERR: |