Browse Source

Fixed busy manager usage.

newNRvisualizers
Mike Krüger 13 years ago
parent
commit
97d224bbbd
  1. 13
      ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedField.cs

13
ICSharpCode.NRefactory/TypeSystem/Implementation/DefaultResolvedField.cs

@ -50,11 +50,12 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -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 @@ -62,8 +63,8 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
rr = ErrorResolveResult.UnknownError;
this.constantValue = rr;
}
return rr.ConstantValue;
}
return rr.ConstantValue;
}
}
}

Loading…
Cancel
Save