diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
index 78cadb8dff..60aca19796 100644
--- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
+++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
@@ -949,8 +949,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
wrapper.AddTypeParameter (p);
}
}
+ var scope = CSharpParsedFile.GetUsingScope (location).Resolve (Compilation);
- for (var n = state.CurrentUsingScope; n != null; n = n.Parent) {
+ for (var n = scope; n != null; n = n.Parent) {
foreach (var pair in n.UsingAliases) {
wrapper.AddNamespace (pair.Key);
}
diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs
index 6bb78986e6..35cb856656 100644
--- a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs
+++ b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs
@@ -1990,6 +1990,36 @@ class C
});
}
+ ///
+ /// Bug 3436 - [New Resolver] Type missing in return type completion
+ ///
+ [Test()]
+ public void Test3436 ()
+ {
+ CombinedProviderTest (
+@"
+namespace A
+{
+ public class SomeClass {}
+}
+
+namespace Foo
+{
+ public partial class Bar {}
+}
+
+namespace Foo
+{
+ using A;
+ public partial class Bar {
+ $S$
+ }
+}
+", provider => {
+ Assert.IsNotNull (provider.Find ("SomeClass"), "'SomeClass' not found.");
+ });
+ }
+
///
/// Bug 474199 - Code completion not working for a nested class