Record Java packages in the trace

Account for LazyJavaPackageFragment in FindUsages
This commit is contained in:
Andrey Breslav
2013-11-13 22:44:38 +04:00
parent ec1960a960
commit ef220eff92
2 changed files with 7 additions and 2 deletions
@@ -32,12 +32,16 @@ public open class LazyJavaSubModule(
fqName -> fqName ->
val jPackage = c.finder.findPackage(fqName) val jPackage = c.finder.findPackage(fqName)
if (jPackage != null) { if (jPackage != null) {
LazyPackageFragmentForJavaPackage(c, findParent(fqName), jPackage) val result = LazyPackageFragmentForJavaPackage(c, findParent(fqName), jPackage)
c.javaResolverCache.recordPackage(jPackage, result)
result
} }
else { else {
val jClass = c.finder.findClass(fqName) val jClass = c.finder.findClass(fqName)
if (jClass != null && JavaNamespaceResolver.hasStaticMembers(jClass)) { 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 else null
} }
@@ -32,6 +32,7 @@ import org.jetbrains.jet.lexer.JetTokens
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache
import org.jetbrains.jet.plugin.JetBundle import org.jetbrains.jet.plugin.JetBundle
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPackageFragmentDescriptor 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 import org.jetbrains.jet.lang.resolve.DescriptorUtils
public object JetUsageTypeProvider : UsageTypeProviderEx { public object JetUsageTypeProvider : UsageTypeProviderEx {