langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
equal
deleted
inserted
replaced
1315 return true; |
1315 return true; |
1316 case ANNOTATED_TYPE: |
1316 case ANNOTATED_TYPE: |
1317 return isSimpleReceiver(((JCAnnotatedType)rec).underlyingType); |
1317 return isSimpleReceiver(((JCAnnotatedType)rec).underlyingType); |
1318 case APPLY: |
1318 case APPLY: |
1319 return true; |
1319 return true; |
|
1320 case NEWCLASS: |
|
1321 JCNewClass nc = (JCNewClass) rec; |
|
1322 return nc.encl == null && nc.def == null && !TreeInfo.isDiamond(nc); |
1320 default: |
1323 default: |
1321 return false; |
1324 return false; |
1322 } |
1325 } |
1323 } |
1326 } |
1324 private ArgumentExpressionKind reduce(ArgumentExpressionKind kind) { |
1327 private ArgumentExpressionKind reduce(ArgumentExpressionKind kind) { |
1369 } |
1372 } |
1370 |
1373 |
1371 Type site; |
1374 Type site; |
1372 |
1375 |
1373 if (rec != null) { |
1376 if (rec != null) { |
1374 if (rec.hasTag(APPLY)) { |
1377 switch (rec.getTag()) { |
1375 Symbol recSym = quicklyResolveMethod(env, (JCMethodInvocation) rec); |
1378 case APPLY: |
1376 if (recSym == null) |
1379 Symbol recSym = quicklyResolveMethod(env, (JCMethodInvocation) rec); |
1377 return null; |
1380 if (recSym == null) |
1378 Symbol resolvedReturnType = |
1381 return null; |
1379 analyzeCandidateMethods(recSym, syms.errSymbol, returnSymbolAnalyzer); |
1382 Symbol resolvedReturnType = |
1380 if (resolvedReturnType == null) |
1383 analyzeCandidateMethods(recSym, syms.errSymbol, returnSymbolAnalyzer); |
1381 return null; |
1384 if (resolvedReturnType == null) |
1382 site = resolvedReturnType.type; |
1385 return null; |
1383 } else { |
1386 site = resolvedReturnType.type; |
1384 site = attribSpeculative(rec, env, attr.unknownTypeExprInfo).type; |
1387 break; |
|
1388 case NEWCLASS: |
|
1389 JCNewClass nc = (JCNewClass) rec; |
|
1390 site = attribSpeculative(nc.clazz, env, attr.unknownTypeExprInfo).type; |
|
1391 break; |
|
1392 default: |
|
1393 site = attribSpeculative(rec, env, attr.unknownTypeExprInfo).type; |
|
1394 break; |
1385 } |
1395 } |
1386 } else { |
1396 } else { |
1387 site = env.enclClass.sym.type; |
1397 site = env.enclClass.sym.type; |
1388 } |
1398 } |
1389 |
1399 |