langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
changeset 44392 e21b18355690
parent 44194 c868c8c24e18
child 44393 ce94820fa9d1
equal deleted inserted replaced
44391:c8697692efac 44392:e21b18355690
   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: