void (@NotNull Project project, @NotNull PsiNewExpression expression, @Nullable PsiType type, @NotNull JavaSdkVersion javaSdkVersion, @NotNull Consumer<? super HighlightInfo.Builder> errorSink) { if (!(type instanceof PsiClassType)) return; PsiClassType.ClassResolveResult typeResult = ((PsiClassType)type).resolveGenerics(); PsiClass aClass = typeResult.getElement(); if (aClass == null) return; if (aClass instanceof PsiAnonymousClass) { type = ((PsiAnonymousClass)aClass).getBaseClassType(); typeResult = ((PsiClassType)type).resolveGenerics(); aClass = typeResult.getElement(); if (aClass == null) return; } PsiJavaCodeReferenceElement classReference = expression.getClassOrAnonymousClassReference(); checkConstructorCall(project, typeResult, expression, type, classReference, javaSdkVersion, expression.getArgumentList(), errorSink); }