diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2011-10-21 18:58:18 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2011-10-21 18:58:18 +0400 |
commit | 8c4f07fb977d29bb5c0676c320be74b5547a6d85 (patch) | |
tree | eb2781b4924013652832b52716961646867651ea /main/contrib | |
parent | 395945804e5b2bc2c8c6a54c0e6c9e8b8dfed909 (diff) |
Fixed some unit tests in the completion.
Diffstat (limited to 'main/contrib')
-rw-r--r-- | main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs | 13 | ||||
-rw-r--r-- | main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs | 11 |
2 files changed, 13 insertions, 11 deletions
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index 78c9320a33..eef45cff58 100644 --- a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -386,11 +386,11 @@ namespace ICSharpCode.NRefactory.CSharp.Completion nodes.Add (n.Parent); var navigator = new NodeListResolveVisitorNavigator (nodes); var visitor = new ResolveVisitor (csResolver, identifierStart.Item1, navigator); - identifierStart.Item3.AcceptVisitor (visitor, null); + visitor.Scan (identifierStart.Item3); csResolver = visitor.GetResolverStateBefore (n); // add attribute properties. if (n.Parent is ICSharpCode.NRefactory.CSharp.Attribute) { - var resolved = visitor.Resolve (n.Parent); + var resolved = visitor.GetResolveResult (n.Parent); if (resolved != null && resolved.Type != null) { foreach (var property in resolved.Type.GetProperties (ctx).Where (p => p.Accessibility == Accessibility.Public)) { contextList.AddMember (property); @@ -1399,7 +1399,8 @@ namespace ICSharpCode.NRefactory.CSharp.Completion var mref = baseUnit.GetNodeAt<MemberReferenceExpression> (location); Expression expr; if (mref != null) { - expr = mref.Target; + expr = mref.Target.Clone (); + mref.Parent.ReplaceWith (expr); } else { var tref = baseUnit.GetNodeAt<TypeReferenceExpression> (location); var memberType = tref != null ? tref.Type as MemberType : null; @@ -1418,12 +1419,6 @@ namespace ICSharpCode.NRefactory.CSharp.Completion return Tuple.Create (tsvisitor.ParsedFile, (AstNode)expr, Unit); } - static void Print (AstNode node) - { - var v = new CSharpOutputVisitor (Console.Out, new CSharpFormattingOptions ()); - node.AcceptVisitor (v, null); - } - Tuple<CSharpParsedFile, Expression, CompilationUnit> GetExpressionAtCursor () { if (currentMember == null && currentType == null) diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs index 9c9ad3ea98..c57ba02753 100644 --- a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs +++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs @@ -339,11 +339,18 @@ namespace ICSharpCode.NRefactory.CSharp.Completion var csResolver = new CSharpResolver (ctx, System.Threading.CancellationToken.None); var navigator = new NodeListResolveVisitorNavigator (new[] { resolveNode }); var visitor = new ResolveVisitor (csResolver, file, navigator); - unit.AcceptVisitor (visitor, null); - var result = visitor.Resolve (resolveNode); + visitor.Scan (unit); +// Print (unit); var state = visitor.GetResolverStateBefore (resolveNode); + var result = visitor.GetResolveResult (resolveNode); return Tuple.Create (result, state); } + static void Print (AstNode node) + { + var v = new CSharpOutputVisitor (Console.Out, new CSharpFormattingOptions ()); + node.AcceptVisitor (v, null); + } + #endregion } }
\ No newline at end of file |