diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java index 668214003d4..63e06d1259d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java @@ -665,7 +665,7 @@ public class DescriptorResolver { } else { LexicalWritableScope writableScope = new LexicalWritableScope( - scope, containingDeclaration, false, null, new TraceBasedLocalRedeclarationChecker(trace, overloadChecker), + scope, containingDeclaration, false, new TraceBasedLocalRedeclarationChecker(trace, overloadChecker), LexicalScopeKind.TYPE_ALIAS_HEADER); typeParameterDescriptors = resolveTypeParametersForDescriptor( typeAliasDescriptor, writableScope, scope, typeParameters, trace); @@ -780,7 +780,7 @@ public class DescriptorResolver { } else { LexicalWritableScope writableScope = new LexicalWritableScope( - scope, containingDeclaration, false, null, new TraceBasedLocalRedeclarationChecker(trace, overloadChecker), + scope, containingDeclaration, false, new TraceBasedLocalRedeclarationChecker(trace, overloadChecker), LexicalScopeKind.PROPERTY_HEADER); typeParameterDescriptors = resolveTypeParametersForDescriptor( propertyDescriptor, writableScope, scope, typeParameters, trace); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt index 3a5e4ead000..93af33ff529 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt @@ -145,8 +145,8 @@ class FunctionDescriptorResolver( trace: BindingTrace, expectedFunctionType: KotlinType ) { - val headerScope = LexicalWritableScope(scope, functionDescriptor, true, null, - TraceBasedLocalRedeclarationChecker(trace, overloadChecker), LexicalScopeKind.FUNCTION_HEADER) + val headerScope = LexicalWritableScope(scope, functionDescriptor, true, + TraceBasedLocalRedeclarationChecker(trace, overloadChecker), LexicalScopeKind.FUNCTION_HEADER) val typeParameterDescriptors = descriptorResolver. resolveTypeParametersForDescriptor(functionDescriptor, headerScope, scope, function.typeParameters, trace) @@ -298,7 +298,7 @@ class FunctionDescriptorResolver( val parameterScope = LexicalWritableScope( scope, constructorDescriptor, - false, null, + false, TraceBasedLocalRedeclarationChecker(trace, overloadChecker), LexicalScopeKind.CONSTRUCTOR_HEADER ) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java index a99b41716f5..358faab782b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java @@ -186,7 +186,7 @@ public class ExpressionTypingServices { DeclarationDescriptor containingDescriptor = context.scope.getOwnerDescriptor(); TraceBasedLocalRedeclarationChecker redeclarationChecker = new TraceBasedLocalRedeclarationChecker(context.trace, expressionTypingComponents.overloadChecker); - LexicalWritableScope scope = new LexicalWritableScope(context.scope, containingDescriptor, false, null, redeclarationChecker, + LexicalWritableScope scope = new LexicalWritableScope(context.scope, containingDescriptor, false, redeclarationChecker, LexicalScopeKind.CODE_BLOCK); KotlinTypeInfo r; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java index bc0105b423a..2fd77857b5c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingUtils.java @@ -86,7 +86,7 @@ public class ExpressionTypingUtils { @NotNull LexicalScopeKind scopeKind, @NotNull OverloadChecker overloadChecker ) { - return new LexicalWritableScope(context.scope, context.scope.getOwnerDescriptor(), false, null, + return new LexicalWritableScope(context.scope, context.scope.getOwnerDescriptor(), false, new TraceBasedLocalRedeclarationChecker(context.trace, overloadChecker), scopeKind); } diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/LexicalWritableScope.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/LexicalWritableScope.kt index 3587e9ce259..f8e420bf573 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/LexicalWritableScope.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/scopes/LexicalWritableScope.kt @@ -25,11 +25,13 @@ class LexicalWritableScope( parent: LexicalScope, override val ownerDescriptor: DeclarationDescriptor, override val isOwnerDescriptorAccessibleByLabel: Boolean, - override val implicitReceiver: ReceiverParameterDescriptor?, redeclarationChecker: LocalRedeclarationChecker, override val kind: LexicalScopeKind ) : LexicalScopeStorage(parent, redeclarationChecker) { + override val implicitReceiver: ReceiverParameterDescriptor? + get() = null + private var canWrite: Boolean = true private var lastSnapshot: Snapshot? = null @@ -96,4 +98,4 @@ class LexicalWritableScope( p.popIndent() p.println("}") } -} \ No newline at end of file +}