Ejemplo n.º 1
0
 CodeCompletionData CreateItem(object o, ExpressionContext context)
 {
     if (o is string)
     {
         return(new CodeCompletionData(o.ToString(), "Namespace " + o.ToString(), AutoListIcons.iNamespace));
     }
     else if (o is IClass)
     {
         return(new CodeCompletionData((IClass)o));
     }
     else if (o is IProperty)
     {
         IProperty property = (IProperty)o;
         if (property.Name != null && insertedPropertiesElements[property.Name] == null)
         {
             insertedPropertiesElements[property.Name] = property;
             return(new CodeCompletionData(property));
         }
     }
     else if (o is IMethod)
     {
         IMethod method = (IMethod)o;
         if (method.Name != null && !method.IsConstructor)
         {
             CodeCompletionData ccd = new CodeCompletionData(method);
             if (insertedElements[method.Name] == null)
             {
                 insertedElements[method.Name] = ccd;
                 return(ccd);
             }
             else
             {
                 CodeCompletionData oldMethod = (CodeCompletionData)insertedElements[method.Name];
                 ++oldMethod.Overloads;
             }
         }
     }
     else if (o is IField)
     {
         return(new CodeCompletionData((IField)o));
     }
     else if (o is IEvent)
     {
         IEvent e = (IEvent)o;
         if (e.Name != null && insertedEventElements[e.Name] == null)
         {
             insertedEventElements[e.Name] = e;
             return(new CodeCompletionData(e));
         }
     }
     else
     {
         throw new ApplicationException("Unknown object: " + o);
     }
     return(null);
 }
Ejemplo n.º 2
0
        protected void AddResolveResults(ICollection list, ExpressionContext context)
        {
            if (list == null)
            {
                return;
            }
            completionData.Capacity += list.Count;
            CodeCompletionData suggestedData = null;

            foreach (object o in list)
            {
                if (context != null && !context.ShowEntry(o))
                {
                    continue;
                }
                CodeCompletionData ccd = CreateItem(o, context);
                if (object.Equals(o, context.SuggestedItem))
                {
                    suggestedData = ccd;
                }
                if (ccd != null && !ccd.Text.StartsWith("___"))
                {
                    completionData.Add(ccd);
                }
            }
            if (context.SuggestedItem != null)
            {
                if (suggestedData == null)
                {
                    suggestedData = CreateItem(context.SuggestedItem, context);
                    if (suggestedData != null)
                    {
                        completionData.Add(suggestedData);
                    }
                }
                if (suggestedData != null)
                {
                    completionData.Sort();
                    this.DefaultIndex = completionData.IndexOf(suggestedData);
                }
            }
        }
Ejemplo n.º 3
0
        public string GetInsightData(int number)
        {
            IMember   method = methods[number];
            IAmbience conv   = Parser.ProjectParser.CurrentAmbience;

            conv.ConversionFlags = ConversionFlags.StandardConversionFlags;
            string documentation = method.Documentation;
            string text;

            if (method is IMethod)
            {
                text = conv.Convert(method as IMethod);
            }
            else if (method is IProperty)
            {
                text = conv.Convert(method as IProperty);
            }
            else
            {
                text = method.ToString();
            }
            return(text + "\n" + CodeCompletionData.GetDocumentation(documentation));
        }