From fce6efe412d68d4fa1a6660556783b0a88ea86af Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 11 Oct 2021 17:32:32 +0300 Subject: [PATCH] [FIR] Validate generated member declarations --- .../impl/FirGeneratedClassDeclaredMemberScope.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirGeneratedClassDeclaredMemberScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirGeneratedClassDeclaredMemberScope.kt index d2a8fa11358..4600cba4177 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirGeneratedClassDeclaredMemberScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirGeneratedClassDeclaredMemberScope.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.caches.getValue import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.utils.classId +import org.jetbrains.kotlin.fir.declarations.validate import org.jetbrains.kotlin.fir.extensions.FirDeclarationGenerationExtension import org.jetbrains.kotlin.fir.extensions.declarationGenerators import org.jetbrains.kotlin.fir.extensions.extensionService @@ -56,11 +57,15 @@ class FirGeneratedClassDeclaredMemberScope( // ------------------------------------------ generators ------------------------------------------ private fun generateMemberFunctions(name: Name): List { - return extensions.flatMap { it.generateFunctions(CallableId(firClass.classId, name), firClass.symbol) } + return extensions + .flatMap { it.generateFunctions(CallableId(firClass.classId, name), firClass.symbol) } + .onEach { it.fir.validate() } } private fun generateMemberProperties(name: Name): List { - return extensions.flatMap { it.generateProperties(CallableId(firClass.classId, name), firClass.symbol) } + return extensions + .flatMap { it.generateProperties(CallableId(firClass.classId, name), firClass.symbol) } + .onEach { it.fir.validate() } } private fun generateConstructors(): List { @@ -70,7 +75,7 @@ class FirGeneratedClassDeclaredMemberScope( } else { CallableId(classId.asSingleFqName().parent(), classId.shortClassName) } - return extensions.flatMap { it.generateConstructors(callableId) } + return extensions.flatMap { it.generateConstructors(callableId) }.onEach { } } // ------------------------------------------ scope methods ------------------------------------------