Remove unnecessary scopes

This commit is contained in:
Zalim Bashorov
2015-12-15 14:45:10 +03:00
parent 8c4deb80e5
commit e201268f46
2 changed files with 3 additions and 6 deletions
@@ -45,7 +45,7 @@ class ClassResolutionScopesSupport(
} }
public val scopeForConstructorHeaderResolution: () -> LexicalScope = storageManager.createLazyValue { public val scopeForConstructorHeaderResolution: () -> LexicalScope = storageManager.createLazyValue {
scopeWithGenerics(if (classDescriptor.kind.isSingleton) scopeForCompanionObjectHeaderResolution() else scopeForStaticMemberDeclarationResolution()) scopeWithGenerics(inheritanceScopeWithMe())
} }
private val inheritanceScopeWithoutMe: () -> LexicalScope = storageManager.createLazyValue(onRecursion = createThrowingLexicalScope) { private val inheritanceScopeWithoutMe: () -> LexicalScope = storageManager.createLazyValue(onRecursion = createThrowingLexicalScope) {
@@ -59,8 +59,7 @@ class ClassResolutionScopesSupport(
} }
public val scopeForCompanionObjectHeaderResolution: () -> LexicalScope = storageManager.createLazyValue(onRecursion = createThrowingLexicalScope) { public val scopeForCompanionObjectHeaderResolution: () -> LexicalScope = storageManager.createLazyValue(onRecursion = createThrowingLexicalScope) {
val inheritanceScope = createInheritanceScope(inheritanceScopeWithoutMe(), classDescriptor, classDescriptor, withCompanionObject = false) createInheritanceScope(inheritanceScopeWithoutMe(), classDescriptor, classDescriptor, withCompanionObject = false)
LexicalScopeImpl(inheritanceScope, classDescriptor, false, null, LexicalScopeKind.COMPANION_OBJECT_HEADER)
} }
public val scopeForMemberDeclarationResolution: () -> LexicalScope = storageManager.createLazyValue { public val scopeForMemberDeclarationResolution: () -> LexicalScope = storageManager.createLazyValue {
@@ -73,7 +72,7 @@ class ClassResolutionScopesSupport(
scopeForMemberDeclarationResolution() scopeForMemberDeclarationResolution()
} }
else { else {
LexicalScopeImpl(inheritanceScopeWithMe(), classDescriptor, false, null, LexicalScopeKind.CLASS_STATIC_SCOPE) inheritanceScopeWithMe()
} }
} }
@@ -99,7 +98,6 @@ class ClassResolutionScopesSupport(
val superClasses = SmartList<ClassDescriptor>() val superClasses = SmartList<ClassDescriptor>()
var parent: ClassDescriptor? = getSuperClassNotAny() var parent: ClassDescriptor? = getSuperClassNotAny()
// possible recursion in inheritance
while(parent != null && parent != this) { while(parent != null && parent != this) {
superClasses.add(parent) superClasses.add(parent)
parent = parent.getSuperClassNotAny() parent = parent.getSuperClassNotAny()
@@ -63,7 +63,6 @@ enum class LexicalScopeKind(val withLocalDescriptors: Boolean) {
CLASS_STATIC_SCOPE(false), CLASS_STATIC_SCOPE(false),
CLASS_MEMBER_SCOPE(false), CLASS_MEMBER_SCOPE(false),
CLASS_INITIALIZER(true), CLASS_INITIALIZER(true),
COMPANION_OBJECT_HEADER(false),
DEFAULT_VALUE(true), DEFAULT_VALUE(true),