コード例 #1
0
        string Test(string input, string type, string member, Gdk.Key key = Gdk.Key.Return)
        {
            TestViewContent content;
            var ext = Setup (input, out content);

            ListWindow.ClearHistory ();
            var listWindow = new CompletionListWindow ();
            var widget = new TestCompletionWidget (ext.Document);
            listWindow.CompletionWidget = widget;
            listWindow.CodeCompletionContext = widget.CurrentCodeCompletionContext;
            var t = ext.Document.Compilation.FindType (new FullTypeName (type));
            var foundMember = t.GetMembers (m => m.Name == member).First ();
            var data = new MemberCompletionData (ext, foundMember, OutputFlags.ClassBrowserEntries);
            data.DisplayFlags |= ICSharpCode.NRefactory.Completion.DisplayFlags.NamedArgument;
            KeyActions ka = KeyActions.Process;
            data.InsertCompletionText (listWindow, ref ka, key, (char)key, Gdk.ModifierType.None, true, false);
            return widget.CompletedWord;
        }
コード例 #2
0
			MemberCompletionData AddMemberCompletionData (object member, OutputFlags flags)
			{
				MemberCompletionData newData = new MemberCompletionData (member as INode, flags);
				newData.HideExtensionParameter = HideExtensionParameter;
				string memberKey = newData.CompletionText;
				if (member is IMember) {
					newData.CompletionCategory = GetCompletionCategory (((IMember)member).DeclaringType);
				}
				List<MemberCompletionData> existingData;
				data.TryGetValue (memberKey, out existingData);
				
				if (existingData != null) {
					IBaseMember a = member as IBaseMember;
					foreach (MemberCompletionData md in existingData) {
						IBaseMember b = md.Member as IBaseMember;
						if (a == null || b == null || a.MemberType == b.MemberType) {
							md.AddOverload (newData);
							newData = null;
							break;
						} 
					}
					if (newData != null) {
						CompletionList.Add (newData);
						data[memberKey].Add (newData);
					}
				} else {
					CompletionList.Add (newData);
					data[memberKey] = new List<MemberCompletionData> ();
					data[memberKey].Add (newData);
				}
				return newData;
			}
コード例 #3
0
        string Test(string input, string type, string member, Gdk.Key key = Gdk.Key.Return, bool isDelegateExpected = false)
        {
            TestViewContent content;
            var ext = Setup (input, out content);

            ListWindow.ClearHistory ();
            var listWindow = new CompletionListWindow ();
            var widget = new TestCompletionWidget (ext.Document);
            listWindow.CompletionWidget = widget;
            listWindow.CodeCompletionContext = widget.CurrentCodeCompletionContext;

            var t = ext.Document.Compilation.FindType (new FullTypeName (type));
            var method = member != null ? t.GetMembers (m => m.Name == member).First () : t.GetConstructors ().First ();
            var data = new MemberCompletionData (ext, method, OutputFlags.ClassBrowserEntries);
            data.IsDelegateExpected = isDelegateExpected;
            KeyActions ka = KeyActions.Process;
            data.InsertCompletionText (listWindow, ref ka, key, (char)key, Gdk.ModifierType.None, true, false);
            return widget.CompletedWord;
        }