From 1d16008eab5d15e6382966739e3471fd04dca5fb Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 18 Mar 2019 12:45:10 +0300 Subject: [PATCH] Do not request FirProvider for built-in synthesized classes Because currently they don't have FIR and it might fail with an exception --- .../fir/resolve/transformers/FirSupertypeResolverTransformer.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypeResolverTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypeResolverTransformer.kt index 202c4184ed1..72d0e6d0f55 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypeResolverTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypeResolverTransformer.kt @@ -145,7 +145,6 @@ class FirSupertypeResolverTransformer : FirAbstractTreeTransformer() { } val sessionForSupertype = session.getService(FirSymbolProvider::class).getSessionForClass(superTypeClassId) ?: continue - val provider = sessionForSupertype.getService(FirProvider::class) val firClassForSupertype = sessionForSupertype @@ -155,6 +154,7 @@ class FirSupertypeResolverTransformer : FirAbstractTreeTransformer() { // TODO: this if is a temporary hack for built-in types (because we can't load file for them) if (firClassForSupertype == null || firClassForSupertype.superTypeRefs.any { it !is FirResolvedTypeRef }) { + val provider = sessionForSupertype.getService(FirProvider::class) val firForSuperClassFile = provider.getFirClassifierContainerFile(superTypeClassId) ResolveSuperTypesTask(