diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/TaskPrioritizer.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/TaskPrioritizer.java index 4a6cc38bfd8..96a668739de 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/TaskPrioritizer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/TaskPrioritizer.java @@ -6,6 +6,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.CallableDescriptor; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; +import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; import org.jetbrains.jet.lang.psi.Call; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.resolve.scopes.JetScope; @@ -45,6 +46,9 @@ import java.util.List; * local extension prevail over members (and members prevail over all non-local extensions) */ public static boolean isLocal(DeclarationDescriptor containerOfTheCurrentLocality, DeclarationDescriptor candidate) { + if (candidate instanceof ValueParameterDescriptor) { + return true; + } DeclarationDescriptor parent = candidate.getContainingDeclaration(); if (!(parent instanceof FunctionDescriptor)) { return false; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java index c9155d155ac..dbb5f057c23 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java @@ -38,8 +38,6 @@ public class WritableScopeImpl extends WritableScopeWithImports { @Nullable private ImplicitReceiverDescriptor implicitReceiver; - private List variableDescriptors; - public WritableScopeImpl(@NotNull JetScope scope, @NotNull DeclarationDescriptor owner, @NotNull RedeclarationHandler redeclarationHandler) { super(scope, redeclarationHandler); this.ownerDeclarationDescriptor = owner; @@ -127,14 +125,6 @@ public class WritableScopeImpl extends WritableScopeWithImports { return variableClassOrNamespaceDescriptors; } - @NotNull - private List getVariableDescriptors() { - if (variableDescriptors == null) { - variableDescriptors = Lists.newArrayList(); - } - return variableDescriptors; - } - @Override public void addVariableDescriptor(@NotNull VariableDescriptor variableDescriptor) { Map variableClassOrNamespaceDescriptors = getVariableClassOrNamespaceDescriptors(); @@ -145,8 +135,6 @@ public class WritableScopeImpl extends WritableScopeWithImports { // TODO : Should this always happen? variableClassOrNamespaceDescriptors.put(variableDescriptor.getName(), variableDescriptor); allDescriptors.add(variableDescriptor); - - getVariableDescriptors().add(variableDescriptor); } @Override