Look packages up through JavaDescriptorResolver
This commit is contained in:
+3
-1
@@ -23,6 +23,7 @@ import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
|||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||||
|
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||||
import org.jetbrains.jet.lang.resolve.ImportPath;
|
import org.jetbrains.jet.lang.resolve.ImportPath;
|
||||||
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
||||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaClassResolver;
|
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaClassResolver;
|
||||||
@@ -178,7 +179,8 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
|||||||
externalSignatureResolver,
|
externalSignatureResolver,
|
||||||
errorReporter,
|
errorReporter,
|
||||||
signatureChecker,
|
signatureChecker,
|
||||||
javaResolverCache
|
javaResolverCache,
|
||||||
|
this
|
||||||
),
|
),
|
||||||
module
|
module
|
||||||
);
|
);
|
||||||
|
|||||||
+2
-1
@@ -24,7 +24,8 @@ public open class LazyJavaSubModule(
|
|||||||
outerContext.externalSignatureResolver,
|
outerContext.externalSignatureResolver,
|
||||||
outerContext.errorReporter,
|
outerContext.errorReporter,
|
||||||
outerContext.methodSignatureChecker,
|
outerContext.methodSignatureChecker,
|
||||||
outerContext.javaResolverCache
|
outerContext.javaResolverCache,
|
||||||
|
outerContext.javaDescriptorResolver
|
||||||
)
|
)
|
||||||
|
|
||||||
private val _packageFragments: MemoizedFunctionToNullable<FqName, NamespaceDescriptor> = c.storageManager.createMemoizedFunctionWithNullableValues {
|
private val _packageFragments: MemoizedFunctionToNullable<FqName, NamespaceDescriptor> = c.storageManager.createMemoizedFunctionWithNullableValues {
|
||||||
|
|||||||
+11
-4
@@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.ExternalSignatureResolver
|
|||||||
import org.jetbrains.jet.lang.resolve.java.resolver.MethodSignatureChecker
|
import org.jetbrains.jet.lang.resolve.java.resolver.MethodSignatureChecker
|
||||||
import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter
|
import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter
|
||||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaResolverCache
|
import org.jetbrains.jet.lang.resolve.java.resolver.JavaResolverCache
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver
|
||||||
|
|
||||||
open class GlobalJavaResolverContext(
|
open class GlobalJavaResolverContext(
|
||||||
val storageManager: StorageManager,
|
val storageManager: StorageManager,
|
||||||
@@ -35,7 +36,8 @@ open class GlobalJavaResolverContext(
|
|||||||
val externalSignatureResolver: ExternalSignatureResolver,
|
val externalSignatureResolver: ExternalSignatureResolver,
|
||||||
val errorReporter: ErrorReporter,
|
val errorReporter: ErrorReporter,
|
||||||
val methodSignatureChecker: MethodSignatureChecker,
|
val methodSignatureChecker: MethodSignatureChecker,
|
||||||
val javaResolverCache: JavaResolverCache
|
val javaResolverCache: JavaResolverCache,
|
||||||
|
val javaDescriptorResolver: JavaDescriptorResolver
|
||||||
)
|
)
|
||||||
|
|
||||||
open class LazyJavaResolverContext(
|
open class LazyJavaResolverContext(
|
||||||
@@ -47,10 +49,12 @@ open class LazyJavaResolverContext(
|
|||||||
externalSignatureResolver: ExternalSignatureResolver,
|
externalSignatureResolver: ExternalSignatureResolver,
|
||||||
errorReporter: ErrorReporter,
|
errorReporter: ErrorReporter,
|
||||||
methodSignatureChecker: MethodSignatureChecker,
|
methodSignatureChecker: MethodSignatureChecker,
|
||||||
javaResolverCache: JavaResolverCache
|
javaResolverCache: JavaResolverCache,
|
||||||
|
javaDescriptorResolver: JavaDescriptorResolver
|
||||||
) : GlobalJavaResolverContext(storageManager, finder, javaClassResolver,
|
) : GlobalJavaResolverContext(storageManager, finder, javaClassResolver,
|
||||||
externalAnnotationResolver, externalSignatureResolver,
|
externalAnnotationResolver, externalSignatureResolver,
|
||||||
errorReporter, methodSignatureChecker, javaResolverCache)
|
errorReporter, methodSignatureChecker, javaResolverCache,
|
||||||
|
javaDescriptorResolver)
|
||||||
|
|
||||||
fun LazyJavaResolverContext.withTypes(
|
fun LazyJavaResolverContext.withTypes(
|
||||||
typeParameterResolver: TypeParameterResolver = TypeParameterResolver.EMPTY
|
typeParameterResolver: TypeParameterResolver = TypeParameterResolver.EMPTY
|
||||||
@@ -64,6 +68,7 @@ fun LazyJavaResolverContext.withTypes(
|
|||||||
errorReporter,
|
errorReporter,
|
||||||
methodSignatureChecker,
|
methodSignatureChecker,
|
||||||
javaResolverCache,
|
javaResolverCache,
|
||||||
|
javaDescriptorResolver,
|
||||||
LazyJavaTypeResolver(this, typeParameterResolver),
|
LazyJavaTypeResolver(this, typeParameterResolver),
|
||||||
typeParameterResolver)
|
typeParameterResolver)
|
||||||
|
|
||||||
@@ -77,11 +82,13 @@ class LazyJavaResolverContextWithTypes(
|
|||||||
errorReporter: ErrorReporter,
|
errorReporter: ErrorReporter,
|
||||||
methodSignatureChecker: MethodSignatureChecker,
|
methodSignatureChecker: MethodSignatureChecker,
|
||||||
javaResolverCache: JavaResolverCache,
|
javaResolverCache: JavaResolverCache,
|
||||||
|
javaDescriptorResolver: JavaDescriptorResolver,
|
||||||
val typeResolver: LazyJavaTypeResolver,
|
val typeResolver: LazyJavaTypeResolver,
|
||||||
val typeParameterResolver: TypeParameterResolver
|
val typeParameterResolver: TypeParameterResolver
|
||||||
) : LazyJavaResolverContext(subModule, storageManager, finder, javaClassResolver,
|
) : LazyJavaResolverContext(subModule, storageManager, finder, javaClassResolver,
|
||||||
externalAnnotationResolver, externalSignatureResolver,
|
externalAnnotationResolver, externalSignatureResolver,
|
||||||
errorReporter, methodSignatureChecker, javaResolverCache)
|
errorReporter, methodSignatureChecker, javaResolverCache,
|
||||||
|
javaDescriptorResolver)
|
||||||
|
|
||||||
fun LazyJavaResolverContextWithTypes.child(
|
fun LazyJavaResolverContextWithTypes.child(
|
||||||
containingDeclaration: DeclarationDescriptor,
|
containingDeclaration: DeclarationDescriptor,
|
||||||
|
|||||||
+5
-2
@@ -13,6 +13,7 @@ import org.jetbrains.jet.utils.flatten
|
|||||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaClass
|
import org.jetbrains.jet.lang.resolve.java.structure.JavaClass
|
||||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver
|
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver
|
||||||
import org.jetbrains.kotlin.util.inn
|
import org.jetbrains.kotlin.util.inn
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule
|
||||||
|
|
||||||
public abstract class LazyJavaPackageFragmentScope(
|
public abstract class LazyJavaPackageFragmentScope(
|
||||||
c: LazyJavaResolverContext,
|
c: LazyJavaResolverContext,
|
||||||
@@ -46,7 +47,7 @@ public abstract class LazyJavaPackageFragmentScope(
|
|||||||
|
|
||||||
override fun getClassifier(name: Name): ClassifierDescriptor? = classes(name)
|
override fun getClassifier(name: Name): ClassifierDescriptor? = classes(name)
|
||||||
|
|
||||||
override fun getNamespace(name: Name): NamespaceDescriptor? = c.subModule.getPackageFragment(getContainingDeclaration().getFqName().child(name))
|
override fun getNamespace(name: Name): NamespaceDescriptor? = c.javaDescriptorResolver.resolveNamespace(getContainingDeclaration().getFqName().child(name), DescriptorSearchRule.INCLUDE_KOTLIN_SOURCES)
|
||||||
|
|
||||||
override fun getImplicitReceiversHierarchy(): List<ReceiverParameterDescriptor> = listOf()
|
override fun getImplicitReceiversHierarchy(): List<ReceiverParameterDescriptor> = listOf()
|
||||||
|
|
||||||
@@ -62,7 +63,9 @@ public class LazyPackageFragmentScopeForJavaPackage(
|
|||||||
override fun computeMemberIndex(): MemberIndex = computeMemberIndexForSamConstructors(EMPTY_MEMBER_INDEX)
|
override fun computeMemberIndex(): MemberIndex = computeMemberIndexForSamConstructors(EMPTY_MEMBER_INDEX)
|
||||||
|
|
||||||
override fun getAllClassNames(): Collection<Name> {
|
override fun getAllClassNames(): Collection<Name> {
|
||||||
return jPackage.getClasses().map { c -> c.getName() }
|
return jPackage.getClasses().iterator()
|
||||||
|
.filter { c -> c.getOriginKind() != JavaClass.OriginKind.KOTLIN_LIGHT_CLASS }
|
||||||
|
.map { c -> c.getName() }.toList()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getAllPackageNames(): Collection<Name> =
|
override fun getAllPackageNames(): Collection<Name> =
|
||||||
|
|||||||
Reference in New Issue
Block a user