Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2011-10-21 18:58:18 +0400
committerMike Krüger <mkrueger@xamarin.com>2011-10-21 18:58:18 +0400
commit8c4f07fb977d29bb5c0676c320be74b5547a6d85 (patch)
treeeb2781b4924013652832b52716961646867651ea /main/contrib
parent395945804e5b2bc2c8c6a54c0e6c9e8b8dfed909 (diff)
Fixed some unit tests in the completion.
Diffstat (limited to 'main/contrib')
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs13
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs11
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