From 1dd7a38c3ad286b2d9c019cf6434ff563f082b72 Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Fri, 8 Jun 2012 03:38:24 +0400 Subject: [PATCH] lock scope (for better, safer code) --- .../jet/lang/types/expressions/ExpressionTypingServices.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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(