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-26 14:09:42 +0400
committerMike Krüger <mkrueger@xamarin.com>2011-10-26 14:09:42 +0400
commit6cf6e34954b32247d8970a0712e1a12cebe4b52d (patch)
tree4d7d8db64610c9305eb679d14efa6be8a3b02c6d /main/contrib
parent80015c77de170acdeae5a740c75d0ce8608c91e5 (diff)
Fixed completion resolve issue.
Diffstat (limited to 'main/contrib')
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs10
1 files changed, 6 insertions, 4 deletions
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
index 0244fd0e02..7e4e792383 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
@@ -1217,7 +1217,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
{
if (type == null || type.DeclaringType != null)
return type;
- var result = ctx.GetTypeDefinition (type.Namespace, type.Name, type.TypeParameterCount, StringComparer.Ordinal);
+ var result = ctx.GetTypeDefinition (type.Namespace, type.Name, type.TypeParameterCount, StringComparer.Ordinal) ?? type;
+ if (result.GetParts ().Count == 1)
+ return type;
// Console.WriteLine ("result:"+ result);
return result;
}
@@ -1342,9 +1344,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
// Console.WriteLine ("type:" + type +"/"+type.GetType ());
// Console.WriteLine ("IS PROT ALLOWED:" + isProtectedAllowed);
// Console.WriteLine (resolveResult);
-// Console.WriteLine (currentMember != null ? currentMember.IsStatic : "currentMember == null");
+// Console.WriteLine (currentMember != null ? currentMember.IsStatic.ToString () : "currentMember == null");
if (resolvedNode.Annotation<ObjectCreateExpression> () == null) { //tags the created expression as part of an object create expression.
- foreach (var member in type.GetMembers (ctx)) {
+ foreach (var member in type.Resolve (ctx).GetMembers (ctx)) {
if (!lookup.IsAccessible (member, isProtectedAllowed)) {
// Console.WriteLine ("skip access: " + member.FullName);
continue;
@@ -1360,7 +1362,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
// Console.WriteLine ("skip non static member: " + member.FullName);
continue;
}
- // Console.WriteLine ("add : "+ member.FullName + " --- " + member.IsStatic);
+// Console.WriteLine ("add : "+ member.FullName + " --- " + member.IsStatic + "---- returns:" + member.ReturnType.Resolve (ctx).FullName);
result.AddMember (member);
}
}