From 97d224bbbd126514465aaabeaf8514754e9f6222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Thu, 4 Oct 2012 14:41:41 +0200 Subject: [PATCH] Fixed busy manager usage. --- .../Implementation/DefaultResolvedField.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedField.cs b/ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedField.cs index ffa72549f5..38d7446791 100644 --- a/ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedField.cs +++ b/ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedField.cs @@ -50,11 +50,12 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation public object ConstantValue { get { - using (var busyLock = BusyManager.Enter(this)) { - if (!busyLock.Success) - return null; - ResolveResult rr = this.constantValue; - if (rr == null) { + ResolveResult rr = this.constantValue; + if (rr == null) { + using (var busyLock = BusyManager.Enter(this)) { + if (!busyLock.Success) + return null; + IConstantValue unresolvedCV = ((IUnresolvedField)unresolved).ConstantValue; if (unresolvedCV != null) rr = unresolvedCV.Resolve(context); @@ -62,8 +63,8 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation rr = ErrorResolveResult.UnknownError; this.constantValue = rr; } - return rr.ConstantValue; } + return rr.ConstantValue; } } }