|
|
@ -161,9 +161,8 @@ namespace ICSharpCode.SharpDevelop |
|
|
|
{ |
|
|
|
{ |
|
|
|
Type serviceType = typeof(T); |
|
|
|
Type serviceType = typeof(T); |
|
|
|
lock (services) { |
|
|
|
lock (services) { |
|
|
|
object instance; |
|
|
|
if (services.ContainsKey(serviceType)) { |
|
|
|
if (services.TryGetValue(serviceType, out instance)) { |
|
|
|
return Task.FromResult((T)GetService(serviceType)); |
|
|
|
return Task.FromResult((T)instance); |
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
object taskCompletionSource; |
|
|
|
object taskCompletionSource; |
|
|
|
if (taskCompletionSources.TryGetValue(serviceType, out taskCompletionSource)) { |
|
|
|
if (taskCompletionSources.TryGetValue(serviceType, out taskCompletionSource)) { |
|
|
|