[NI] Turn off KnownTypeParameterSubstitutor for NI

The main consequence of it is that TYPE_MISMATCH range for control
structures became wider.

Also, for extra safety, don't change behaviour of OI.
This commit is contained in:
Dmitry Savvinov
2017-12-07 13:18:24 +03:00
parent 4ed6928e6b
commit 33f9576dd1
15 changed files with 53 additions and 49 deletions
@@ -133,8 +133,8 @@ public class ControlStructureTypingUtils {
@NotNull KotlinType expectedType,
@NotNull LanguageVersionSettings languageVersionSettings
) {
if (construct == ResolveConstruct.ELVIS
|| construct == ResolveConstruct.EXCL_EXCL
if (languageVersionSettings.supportsFeature(LanguageFeature.NewInference)
|| construct == ResolveConstruct.ELVIS
|| TypeUtils.noExpectedType(expectedType)
|| TypeUtils.isDontCarePlaceholder(expectedType)
|| KotlinBuiltIns.isUnitOrNullableUnit(expectedType)