From ef220eff925bd8fada6622e0a4d7da3e233beb2f Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 13 Nov 2013 22:44:38 +0400 Subject: [PATCH] Record Java packages in the trace Account for LazyJavaPackageFragment in FindUsages --- .../jet/lang/resolve/java/lazy/LazyJavaSubModule.kt | 8 ++++++-- .../jet/plugin/findUsages/JetUsageTypeProvider.kt | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaSubModule.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaSubModule.kt index c8ea96e18c1..fd5dbe4e199 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaSubModule.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaSubModule.kt @@ -32,12 +32,16 @@ public open class LazyJavaSubModule( fqName -> val jPackage = c.finder.findPackage(fqName) if (jPackage != null) { - LazyPackageFragmentForJavaPackage(c, findParent(fqName), jPackage) + val result = LazyPackageFragmentForJavaPackage(c, findParent(fqName), jPackage) + c.javaResolverCache.recordPackage(jPackage, result) + result } else { val jClass = c.finder.findClass(fqName) if (jClass != null && JavaNamespaceResolver.hasStaticMembers(jClass)) { - LazyPackageFragmentForJavaClass(c, findParent(fqName), jClass) + val result = LazyPackageFragmentForJavaClass(c, findParent(fqName), jClass) + c.javaResolverCache.recordPackage(jClass, result) + result } else null } diff --git a/idea/src/org/jetbrains/jet/plugin/findUsages/JetUsageTypeProvider.kt b/idea/src/org/jetbrains/jet/plugin/findUsages/JetUsageTypeProvider.kt index d9324587373..1a933ed0502 100644 --- a/idea/src/org/jetbrains/jet/plugin/findUsages/JetUsageTypeProvider.kt +++ b/idea/src/org/jetbrains/jet/plugin/findUsages/JetUsageTypeProvider.kt @@ -32,6 +32,7 @@ import org.jetbrains.jet.lexer.JetTokens import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache import org.jetbrains.jet.plugin.JetBundle import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPackageFragmentDescriptor +import org.jetbrains.jet.lang.resolve.java.lazy.descriptors.LazyJavaPackageFragment import org.jetbrains.jet.lang.resolve.DescriptorUtils public object JetUsageTypeProvider : UsageTypeProviderEx {