diamonds: check according to diamonds even if expected type is raw

This commit is contained in:
anna
2011-04-05 15:45:49 +02:00
parent cd587a0217
commit 3aaa7fb39b
2 changed files with 15 additions and 1 deletions
@@ -116,9 +116,9 @@ public class GenericsHighlightUtil {
if (!typeParameterListOwner.hasTypeParameters()) {
return HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, referenceElements[0], "Diamond operator is not applicable for non-parameterized types");
}
inferenceResult = ((PsiDiamondType)referenceElements[0].getType()).resolveInferredTypes();
final PsiType expectedType = detectExpectedType(referenceParameterList);
if (!(expectedType instanceof PsiClassType && ((PsiClassType)expectedType).isRaw())) {
inferenceResult = ((PsiDiamondType)referenceElements[0].getType()).resolveInferredTypes();
final String errorMessage = inferenceResult.getErrorMessage();
if (errorMessage != null) {
return HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, referenceElements[0], errorMessage);