From a8e702be8c6529de2d31fd2051e12354206c370f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Fri, 8 Jun 2012 13:41:48 +0200 Subject: [PATCH] [Completion] Lowered parsed file usages. --- .../Completion/CSharpCompletionEngine.cs | 15 ++++++--------- .../Completion/CSharpParameterCompletionEngine.cs | 11 +++-------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index e6fabac394..3ba578c4ae 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -1318,10 +1318,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion void AddTypesAndNamespaces(CompletionDataWrapper wrapper, CSharpResolver state, AstNode node, Func typePred = null, Predicate memberPred = null, Action callback = null) { - var lookup = new MemberLookup( - ctx.CurrentTypeDefinition, - Compilation.MainAssembly - ); + var lookup = new MemberLookup(ctx.CurrentTypeDefinition, Compilation.MainAssembly); if (currentType != null) { for (var ct = currentType; ct != null; ct = ct.DeclaringTypeDefinition) { foreach (var nestedType in ct.NestedTypes) { @@ -1382,7 +1379,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion wrapper.AddTypeParameter(p); } } - var scope = CSharpParsedFile.GetUsingScope(location).Resolve(Compilation); + var scope = ctx.CurrentUsingScope; for (var n = scope; n != null; n = n.Parent) { foreach (var pair in n.UsingAliases) { @@ -2369,7 +2366,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion } } // ADD Aliases - var scope = CSharpParsedFile.GetUsingScope(location).Resolve(Compilation); + var scope = ctx.CurrentUsingScope; for (var n = scope; n != null; n = n.Parent) { foreach (var pair in n.UsingAliases) { @@ -2749,7 +2746,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion sb.Append("a;"); AppendMissingClosingBrackets(sb, text, false); var stream = new System.IO.StringReader(sb.ToString()); - var completionUnit = parser.Parse(stream, CSharpParsedFile.FileName, 0); + var completionUnit = parser.Parse(stream, "a.cs", 0); stream.Close(); var loc = document.GetLocation(offset); @@ -2772,7 +2769,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion AppendMissingClosingBrackets(sb, text, false); var stream = new System.IO.StringReader(sb.ToString()); - var completionUnit = parser.Parse(stream, CSharpParsedFile.FileName, 0); + var completionUnit = parser.Parse(stream, "a.cs", 0); stream.Close(); var loc = document.GetLocation(offset); @@ -2783,7 +2780,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion sb.Append("a ()"); AppendMissingClosingBrackets(sb, text, false); stream = new System.IO.StringReader(sb.ToString()); - completionUnit = parser.Parse(stream, CSharpParsedFile.FileName, 0); + completionUnit = parser.Parse(stream, "a.cs", 0); stream.Close(); loc = document.GetLocation(offset); diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs index 306ccaa4df..129ad12992 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs @@ -307,17 +307,12 @@ namespace ICSharpCode.NRefactory.CSharp.Completion List GetUsedNamespaces() { - var scope = CSharpParsedFile.GetUsingScope(location); + var scope = ctx.CurrentUsingScope; var result = new List(); - var resolver = new CSharpResolver(ctx); while (scope != null) { - result.Add(scope.NamespaceName); + result.Add(scope.Namespace.FullName); - foreach (var u in scope.Usings) { - var ns = u.ResolveNamespace(resolver); - if (ns == null) { - continue; - } + foreach (var ns in scope.Usings) { result.Add(ns.FullName); } scope = scope.Parent;