Minor code simplifications
This commit is contained in:
@@ -28,7 +28,6 @@ import org.jetbrains.jet.lang.resolve.ImportsResolver
|
|||||||
import org.jetbrains.jet.lang.resolve.JetModuleUtil
|
import org.jetbrains.jet.lang.resolve.JetModuleUtil
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name
|
import org.jetbrains.jet.lang.resolve.name.Name
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.*
|
import org.jetbrains.jet.lang.resolve.scopes.*
|
||||||
import org.jetbrains.jet.storage.MemoizedFunctionToNotNull
|
|
||||||
import org.jetbrains.jet.utils.Printer
|
import org.jetbrains.jet.utils.Printer
|
||||||
|
|
||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver.LookupMode
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver.LookupMode
|
||||||
@@ -39,8 +38,14 @@ public class LazyImportScope(private val resolveSession: ResolveSession,
|
|||||||
private val traceForImportResolve: BindingTrace,
|
private val traceForImportResolve: BindingTrace,
|
||||||
private val debugName: String,
|
private val debugName: String,
|
||||||
inRootPackage: Boolean) : JetScope, LazyEntity {
|
inRootPackage: Boolean) : JetScope, LazyEntity {
|
||||||
private val importsProvider: ImportsProvider
|
|
||||||
private val rootScope: JetScope
|
private val importsProvider = ImportsProvider(resolveSession.getStorageManager(), imports)
|
||||||
|
private val importedScopesProvider = resolveSession.getStorageManager().createMemoizedFunction {
|
||||||
|
(directive: JetImportDirective) -> ImportDirectiveResolveCache(directive)
|
||||||
|
}
|
||||||
|
private val rootScope = JetModuleUtil.getImportsResolutionScope(resolveSession.getModuleDescriptor(), inRootPackage)
|
||||||
|
|
||||||
|
private var directiveUnderResolve: JetImportDirective? = null
|
||||||
|
|
||||||
private class ImportResolveStatus(val lookupMode: LookupMode, val scope: JetScope, val descriptors: Collection<DeclarationDescriptor>)
|
private class ImportResolveStatus(val lookupMode: LookupMode, val scope: JetScope, val descriptors: Collection<DeclarationDescriptor>)
|
||||||
|
|
||||||
@@ -87,18 +92,6 @@ public class LazyImportScope(private val resolveSession: ResolveSession,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val importedScopesProvider: MemoizedFunctionToNotNull<JetImportDirective, ImportDirectiveResolveCache>
|
|
||||||
|
|
||||||
private var directiveUnderResolve: JetImportDirective? = null
|
|
||||||
|
|
||||||
{
|
|
||||||
this.importsProvider = ImportsProvider(resolveSession.getStorageManager(), imports)
|
|
||||||
|
|
||||||
this.importedScopesProvider = resolveSession.getStorageManager().createMemoizedFunction { ImportDirectiveResolveCache(it) }
|
|
||||||
|
|
||||||
this.rootScope = JetModuleUtil.getImportsResolutionScope(resolveSession.getModuleDescriptor(), inRootPackage)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun forceResolveAllContents() {
|
override fun forceResolveAllContents() {
|
||||||
for (importDirective in importsProvider.getAllImports()) {
|
for (importDirective in importsProvider.getAllImports()) {
|
||||||
forceResolveImportDirective(importDirective)
|
forceResolveImportDirective(importDirective)
|
||||||
@@ -182,9 +175,9 @@ public class LazyImportScope(private val resolveSession: ResolveSession,
|
|||||||
|
|
||||||
override fun getAllDescriptors() = collectFromImports(LookupMode.EVERYTHING, JetScopeSelectorUtil.ALL_DESCRIPTORS_SCOPE_SELECTOR)
|
override fun getAllDescriptors() = collectFromImports(LookupMode.EVERYTHING, JetScopeSelectorUtil.ALL_DESCRIPTORS_SCOPE_SELECTOR)
|
||||||
|
|
||||||
override fun getImplicitReceiversHierarchy(): List<ReceiverParameterDescriptor> = listOf()
|
override fun getImplicitReceiversHierarchy() = listOf<ReceiverParameterDescriptor>()
|
||||||
|
|
||||||
override fun getOwnDeclaredDescriptors(): Collection<DeclarationDescriptor> = listOf()
|
override fun getOwnDeclaredDescriptors() = listOf<DeclarationDescriptor>()
|
||||||
|
|
||||||
override fun getContainingDeclaration() = containingDeclaration
|
override fun getContainingDeclaration() = containingDeclaration
|
||||||
|
|
||||||
@@ -204,14 +197,16 @@ public class LazyImportScope(private val resolveSession: ResolveSession,
|
|||||||
}
|
}
|
||||||
|
|
||||||
class object {
|
class object {
|
||||||
public fun createImportScopeForFile(resolveSession: ResolveSession, packageDescriptor: PackageViewDescriptor, jetFile: JetFile, traceForImportResolve: BindingTrace, debugName: String): LazyImportScope {
|
public fun createImportScopeForFile(resolveSession: ResolveSession,
|
||||||
val importDirectives: List<JetImportDirective>
|
packageDescriptor: PackageViewDescriptor,
|
||||||
if (jetFile is JetCodeFragment) {
|
jetFile: JetFile,
|
||||||
val importList = jetFile.importsAsImportList()
|
traceForImportResolve: BindingTrace,
|
||||||
importDirectives = if (importList != null) importList.getImports() else listOf()
|
debugName: String): LazyImportScope {
|
||||||
|
val importDirectives: List<JetImportDirective> = if (jetFile is JetCodeFragment) {
|
||||||
|
jetFile.importsAsImportList()?.getImports() ?: listOf()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
importDirectives = jetFile.getImportDirectives()
|
jetFile.getImportDirectives()
|
||||||
}
|
}
|
||||||
|
|
||||||
return LazyImportScope(resolveSession, packageDescriptor, importDirectives.reverse(), traceForImportResolve, debugName, packageDescriptor.getFqName().isRoot())
|
return LazyImportScope(resolveSession, packageDescriptor, importDirectives.reverse(), traceForImportResolve, debugName, packageDescriptor.getFqName().isRoot())
|
||||||
|
|||||||
Reference in New Issue
Block a user