From db0f212b3e53decc1c72d21f2f0b9f4f848017d0 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Thu, 11 Jun 2015 16:10:28 +0300 Subject: [PATCH] More code simplifications --- .../resolve/scopes/WritableScopeImpl.kt | 46 +++++++------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt index e58b353cd81..73ff4ecb25f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt @@ -113,24 +113,27 @@ public class WritableScopeImpl(override val workerScope: JetScope, declarationDescriptors.add(descriptor) } - private fun getVariableOrClassDescriptors(): MutableMap { + private fun addVariableOrClassDescriptor(descriptor: DeclarationDescriptor) { + checkMayWrite() + + val name = descriptor.getName() + + val originalDescriptor = variableOrClassDescriptors?.get(name) + if (originalDescriptor != null) { + redeclarationHandler.handleRedeclaration(originalDescriptor, descriptor) + } + if (variableOrClassDescriptors == null) { variableOrClassDescriptors = HashMap() } - return variableOrClassDescriptors!! + variableOrClassDescriptors!!.put(name, descriptor) + + explicitlyAddedDescriptors.add(descriptor) + declaredDescriptorsAccessibleBySimpleName.put(name, descriptor) } override fun addVariableDescriptor(variableDescriptor: VariableDescriptor) { - checkMayWrite() - - val name = variableDescriptor.getName() - if (variableDescriptor.getExtensionReceiverParameter() == null) { - checkForRedeclaration(name, variableDescriptor) - // TODO : Should this always happen? - getVariableOrClassDescriptors().put(name, variableDescriptor) - } - explicitlyAddedDescriptors.add(variableDescriptor) - addToDeclared(variableDescriptor) + addVariableOrClassDescriptor(variableDescriptor) } override fun getProperties(name: Name): Collection { @@ -168,20 +171,7 @@ public class WritableScopeImpl(override val workerScope: JetScope, } override fun addClassifierDescriptor(classifierDescriptor: ClassifierDescriptor) { - checkMayWrite() - - val name = classifierDescriptor.getName() - checkForRedeclaration(name, classifierDescriptor) - getVariableOrClassDescriptors().put(name, classifierDescriptor) - explicitlyAddedDescriptors.add(classifierDescriptor) - addToDeclared(classifierDescriptor) - } - - private fun checkForRedeclaration(name: Name, classifierDescriptor: DeclarationDescriptor) { - val originalDescriptor = getVariableOrClassDescriptors()[name] - if (originalDescriptor != null) { - redeclarationHandler.handleRedeclaration(originalDescriptor, classifierDescriptor) - } + addVariableOrClassDescriptor(classifierDescriptor) } override fun getClassifier(name: Name): ClassifierDescriptor? { @@ -223,10 +213,6 @@ public class WritableScopeImpl(override val workerScope: JetScope, super.getImplicitReceiversHierarchy() } - private fun addToDeclared(descriptor: DeclarationDescriptor) { - declaredDescriptorsAccessibleBySimpleName.put(descriptor.getName(), descriptor) - } - override fun getOwnDeclaredDescriptors(): Collection = declaredDescriptorsAccessibleBySimpleName.values()