diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingServices.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingServices.java index d91da99c2a3..17d2fc36d6e 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingServices.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingServices.java @@ -192,7 +192,9 @@ public class ExpressionTypingServices { WritableScope scope = new WritableScopeImpl( outerScope, containingDescriptor, new TraceBasedRedeclarationHandler(context.trace), "getBlockReturnedType"); scope.changeLockLevel(WritableScope.LockLevel.BOTH); - return getBlockReturnedTypeWithWritableScope(scope, block, coercionStrategyForLastExpression, context, trace); + JetType r = getBlockReturnedTypeWithWritableScope(scope, block, coercionStrategyForLastExpression, context, trace); + scope.changeLockLevel(WritableScope.LockLevel.READING); + return r; } private Map collectReturnedExpressionsWithTypes(