[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI

This commit is contained in:
Dmitriy Novozhilov
2019-05-29 10:35:46 +03:00
parent dad334ffcd
commit 7c4101e21c
80 changed files with 890 additions and 201 deletions
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
import org.jetbrains.kotlin.serialization.deserialization.ErrorReporter
import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.types.SubstitutingScopeProvider
import java.util.*
class JavaResolverComponents(
@@ -64,7 +65,8 @@ class JavaResolverComponents(
val annotationTypeQualifierResolver: AnnotationTypeQualifierResolver,
val signatureEnhancement: SignatureEnhancement,
val javaClassesTracker: JavaClassesTracker,
val settings: JavaResolverSettings
val settings: JavaResolverSettings,
val substitutingScopeProvider: SubstitutingScopeProvider
) {
fun replace(
javaResolverCache: JavaResolverCache = this.javaResolverCache
@@ -73,7 +75,7 @@ class JavaResolverComponents(
signaturePropagator, errorReporter, javaResolverCache,
javaPropertyInitializerEvaluator, samConversionResolver, sourceElementFactory,
moduleClassResolver, packagePartProvider, supertypeLoopChecker, lookupTracker, module, reflectionTypes,
annotationTypeQualifierResolver, signatureEnhancement, javaClassesTracker, settings
annotationTypeQualifierResolver, signatureEnhancement, javaClassesTracker, settings, substitutingScopeProvider
)
}
@@ -46,7 +46,8 @@ class LazyJavaClassDescriptor(
) : ClassDescriptorBase(
outerContext.storageManager, containingDeclaration, jClass.name,
outerContext.components.sourceElementFactory.source(jClass),
/* isExternal = */ false
/* isExternal = */ false,
outerContext.components.substitutingScopeProvider
), JavaClassDescriptor {
companion object {