Minor, inline LexicalScope.Companion.empty

This commit is contained in:
Alexander Udalov
2016-07-01 18:57:34 +03:00
parent 969ff43152
commit 6baf3ae737
7 changed files with 12 additions and 16 deletions
@@ -113,7 +113,7 @@ class FileScopeFactory(
val importingScope = LazyImportScope(scope, explicitImportResolver, LazyImportScope.FilteringKind.ALL, "Explicit imports in $debugName")
val lexicalScope = LexicalScope.empty(importingScope, packageFragment)
val lexicalScope = LexicalScope.Empty(importingScope, packageFragment)
val importResolver = object : ImportResolver {
override fun forceResolveAllImports() {
@@ -60,7 +60,7 @@ class LazyAnnotations(
entry: KtAnnotationEntry ->
val descriptor = LazyAnnotationDescriptor(c, entry)
val target = entry.getUseSiteTarget()?.getAnnotationUseSiteTarget()
val target = entry.useSiteTarget?.getAnnotationUseSiteTarget()
AnnotationWithTarget(descriptor, target)
}
@@ -132,8 +132,9 @@ class LazyAnnotationDescriptor(
private val source = annotationEntry.toSourceElement()
val scope = if (c.scope.ownerDescriptor is PackageFragmentDescriptor) {
LexicalScope.Companion.empty(c.scope, FileDescriptorForVisibilityChecks(source, c.scope.ownerDescriptor))
} else {
LexicalScope.Empty(c.scope, FileDescriptorForVisibilityChecks(source, c.scope.ownerDescriptor))
}
else {
c.scope
}
@@ -59,10 +59,6 @@ interface LexicalScope: HierarchicalScope {
p.println("Empty lexical scope with owner = $ownerDescriptor and parent = $parent")
}
}
companion object {
fun empty(parent: HierarchicalScope, ownerDescriptor: DeclarationDescriptor): LexicalScope = Empty(parent, ownerDescriptor)
}
}
enum class LexicalScopeKind(val withLocalDescriptors: Boolean) {
@@ -21,4 +21,4 @@ import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope
fun KotlinBuiltIns.builtInPackageAsLexicalScope()
= LexicalScope.empty(builtInsPackageScope.memberScopeAsImportingScope(), builtInsModule)
= LexicalScope.Empty(builtInsPackageScope.memberScopeAsImportingScope(), builtInsModule)
@@ -128,10 +128,10 @@ private fun getClassInnerScope(outerScope: LexicalScope, descriptor: ClassDescri
fun getKDocLinkResolutionScope(resolutionFacade: ResolutionFacade, descriptor: DeclarationDescriptor): LexicalScope {
return when (descriptor) {
is PackageFragmentDescriptor ->
LexicalScope.empty(getPackageInnerScope(descriptor).memberScopeAsImportingScope(), descriptor)
LexicalScope.Empty(getPackageInnerScope(descriptor).memberScopeAsImportingScope(), descriptor)
is PackageViewDescriptor ->
LexicalScope.empty(descriptor.memberScope.memberScopeAsImportingScope(), descriptor)
LexicalScope.Empty(descriptor.memberScope.memberScopeAsImportingScope(), descriptor)
is ClassDescriptor ->
getClassInnerScope(getOuterScope(descriptor, resolutionFacade), descriptor)
@@ -257,7 +257,7 @@ object ReplaceWithAnnotationAnalyzer {
}
is PackageViewDescriptor ->
LexicalScope.empty(chainImportingScopes(listOf(descriptor.memberScope.memberScopeAsImportingScope()) + additionalScopes)!!, ownerDescriptor)
LexicalScope.Empty(chainImportingScopes(listOf(descriptor.memberScope.memberScopeAsImportingScope()) + additionalScopes)!!, ownerDescriptor)
is ClassDescriptor -> {
val outerScope = getResolutionScope(descriptor.containingDeclaration, ownerDescriptor, additionalScopes) ?: return null
@@ -278,4 +278,4 @@ object ReplaceWithAnnotationAnalyzer {
else -> return null // something local, should not work with ReplaceWith
}
}
}
}
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.idea.KotlinBundle
import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
import org.jetbrains.kotlin.idea.refactoring.canRefactor
import org.jetbrains.kotlin.idea.util.getResolutionScope
import org.jetbrains.kotlin.psi.KtBlockExpression
import org.jetbrains.kotlin.psi.KtDeclarationWithBody
@@ -194,7 +193,7 @@ fun DeclarationDescriptor.getContainingScope(): LexicalScope? {
val containingDescriptor = containingDeclaration ?: return null
return when (containingDescriptor) {
is ClassDescriptorWithResolutionScopes -> containingDescriptor.scopeForInitializerResolution
is PackageFragmentDescriptor -> LexicalScope.empty(containingDescriptor.getMemberScope().memberScopeAsImportingScope(), this)
is PackageFragmentDescriptor -> LexicalScope.Empty(containingDescriptor.getMemberScope().memberScopeAsImportingScope(), this)
else -> null
}
}
@@ -203,4 +202,4 @@ fun DeclarationDescriptor.getContainingScope(): LexicalScope? {
fun KtDeclarationWithBody.getBodyScope(bindingContext: BindingContext): LexicalScope? {
val expression = bodyExpression?.children?.firstOrNull { it is KtExpression } ?: return null
return expression.getResolutionScope(bindingContext, getResolutionFacade())
}
}