From 4bf61db9f9b0334b3a8d56e71376a4d649a66916 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Tue, 6 Sep 2016 17:20:39 +0300 Subject: [PATCH] Optimize class names computation in Java package for CLI Use known class names' set if it exists --- .../kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt index 8b348031290..9ada1596411 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt @@ -140,6 +140,9 @@ class LazyJavaPackageScope( // neither objects nor enum members can be in java package if (!kindFilter.acceptsKinds(DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS_MASK)) return emptySet() + val knownClassNamesInPackage = knownClassNamesInPackage() + if (knownClassNamesInPackage != null) return knownClassNamesInPackage.mapTo(HashSet()) { Name.identifier(it) } + return jPackage.getClasses(nameFilter ?: alwaysTrue()).mapNotNullTo(linkedSetOf()) { klass -> if (klass.lightClassOriginKind == LightClassOriginKind.SOURCE) null else klass.name }