Serialize OptIn to builtins, improve tests

Skip SOURCE-retention annotations in builtins serialization tests,
because otherwise the source analysis result can't be equal to the
metadata deserialization result.

 #KT-53073 Fixed
This commit is contained in:
Alexander Udalov
2022-08-25 21:08:05 +02:00
parent 3f6742916a
commit 686cd82327
10 changed files with 277 additions and 11 deletions
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.renderer.AnnotationArgumentsRenderingPolicy
import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy
import org.jetbrains.kotlin.resolve.descriptorUtil.isSourceAnnotation
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment
@@ -59,6 +60,7 @@ abstract class AbstractBuiltInsWithJDKMembersTest : KotlinTestWithEnvironment()
annotationArgumentsRenderingPolicy = AnnotationArgumentsRenderingPolicy.UNLESS_EMPTY
modifiers = DescriptorRendererModifier.ALL
excludedTypeAnnotationClasses = setOf(StandardNames.FqNames.unsafeVariance)
annotationFilter = { !it.isSourceAnnotation }
}
)
}
@@ -22,6 +22,7 @@ object BuiltinsTestUtils {
allFilesUnder("core/builtins/native"),
allFilesUnder("core/builtins/src"),
allFilesUnder("core/builtins/build/src/ranges"),
allFilesUnder("core/builtins/build/src/reflect"),
)
)
return createResolveSessionForFiles(environment.project, files, false).moduleDescriptor