Пример #1
0
		public IListDataProvider<string> GetCollections ()
		{
			var result = new List<CodeTemplateVariableValue> ();
			var ext = CurrentContext.Document.GetContent <CompletionTextEditorExtension> ();
			if (ext != null) {
				if (list == null)
					list = ext.CodeCompletionCommand (CurrentContext.Document.GetContent <MonoDevelop.Ide.CodeCompletion.ICompletionWidget> ().CurrentCodeCompletionContext);
				
				foreach (object o in list) {
					MonoDevelop.Ide.CodeCompletion.MemberCompletionData data = o as MonoDevelop.Ide.CodeCompletion.MemberCompletionData;
					if (data == null)
						continue;
					
					if (data.Member is IMember) {
						IMember m = data.Member as IMember;
						if (DomType.GetComponentType (CurrentContext.ProjectDom, m.ReturnType) != null)
							result.Add (new CodeTemplateVariableValue (m.Name, data.Icon));
					}
				}
				
				foreach (object o in list) {
					MonoDevelop.Ide.CodeCompletion.MemberCompletionData data = o as MonoDevelop.Ide.CodeCompletion.MemberCompletionData;
					if (data == null)
						continue;
					if (data.Member is IParameter) {
						IParameter m = data.Member as IParameter;
						if (DomType.GetComponentType (CurrentContext.ProjectDom, m.ReturnType) != null)
							result.Add (new CodeTemplateVariableValue (m.Name, data.Icon));
					}
				}
				
				foreach (object o in list) {
					MonoDevelop.Ide.CodeCompletion.MemberCompletionData data = o as MonoDevelop.Ide.CodeCompletion.MemberCompletionData;
					if (data == null)
						continue;
					if (data.Member is LocalVariable) {
						LocalVariable m = data.Member as LocalVariable;
						if (DomType.GetComponentType (CurrentContext.ProjectDom, m.ReturnType) != null)
							result.Add (new CodeTemplateVariableValue (m.Name, data.Icon));
					}
				}
			}
			return new CodeTemplateListDataProvider (result);
		}
Пример #2
0
        public IListDataProvider <string> GetCollections()
        {
            var result = new List <CodeTemplateVariableValue> ();
            var ext    = CurrentContext.Document.GetContent <CompletionTextEditorExtension> ();

            if (ext != null)
            {
                if (list == null)
                {
                    list = ext.CodeCompletionCommand(CurrentContext.Document.TextEditor.CurrentCodeCompletionContext);
                }

                foreach (object o in list)
                {
                    MonoDevelop.Ide.CodeCompletion.MemberCompletionData data = o as MonoDevelop.Ide.CodeCompletion.MemberCompletionData;
                    if (data == null)
                    {
                        continue;
                    }

                    if (data.Member is IMember)
                    {
                        IMember m = data.Member as IMember;
                        if (DomType.GetComponentType(CurrentContext.ProjectDom, m.ReturnType) != null)
                        {
                            result.Add(new CodeTemplateVariableValue(m.Name, data.Icon));
                        }
                    }
                }

                foreach (object o in list)
                {
                    MonoDevelop.Ide.CodeCompletion.MemberCompletionData data = o as MonoDevelop.Ide.CodeCompletion.MemberCompletionData;
                    if (data == null)
                    {
                        continue;
                    }
                    if (data.Member is IParameter)
                    {
                        IParameter m = data.Member as IParameter;
                        if (DomType.GetComponentType(CurrentContext.ProjectDom, m.ReturnType) != null)
                        {
                            result.Add(new CodeTemplateVariableValue(m.Name, data.Icon));
                        }
                    }
                }

                foreach (object o in list)
                {
                    MonoDevelop.Ide.CodeCompletion.MemberCompletionData data = o as MonoDevelop.Ide.CodeCompletion.MemberCompletionData;
                    if (data == null)
                    {
                        continue;
                    }
                    if (data.Member is LocalVariable)
                    {
                        LocalVariable m = data.Member as LocalVariable;
                        if (DomType.GetComponentType(CurrentContext.ProjectDom, m.ReturnType) != null)
                        {
                            result.Add(new CodeTemplateVariableValue(m.Name, data.Icon));
                        }
                    }
                }
            }
            return(new CodeTemplateListDataProvider(result));
        }