Example #1
0
        static void HandleKeyword(ref VBNetCompletionItemList result, IReturnType resolvedType, string word, IClass c, IMember m, ITextEditor editor, char pressedKey)
        {
            if (pressedKey == ' ')
            {
                if (word.Equals("return", StringComparison.OrdinalIgnoreCase) && m != null)
                {
                    c = m.ReturnType != null?m.ReturnType.GetUnderlyingClass() : null;

                    if (c != null)
                    {
                        foreach (CodeCompletionItem item in result.Items.OfType <CodeCompletionItem>())
                        {
                            IClass itemClass = item.Entity as IClass;
                            if (itemClass != null && c.FullyQualifiedName == itemClass.FullyQualifiedName && c.TypeParameters.Count == itemClass.TypeParameters.Count)
                            {
                                result.SuggestedItem = item;
                                break;
                            }
                        }
                    }
                }

                if (word.Equals("overrides", StringComparison.OrdinalIgnoreCase) && c != null)
                {
                    result = new OverrideCompletionItemProvider().GenerateCompletionList(editor).ToVBCCList();
                }
            }
        }
Example #2
0
 IProperty[] GetOverridableProperties(IClass baseClass)
 {
     return(OverrideCompletionItemProvider.GetOverridableProperties(new MockClass("DerivedClass")
     {
         BaseType = baseClass.DefaultReturnType
     }));
 }
Example #3
0
        public void GetOverridableMethodsProperties()
        {
            // get a class deriving from Form
            IClass form = swf.GetClass("System.Windows.Forms.PrintPreviewDialog", 0);

            IMethod[]   methods    = OverrideCompletionItemProvider.GetOverridableMethods(form);
            IProperty[] properties = OverrideCompletionItemProvider.GetOverridableProperties(form);
            Assert.AreEqual(1, properties.Where(m => m.Name == "AutoScroll").Count());
            Assert.AreEqual(1, properties.Where(m => m.Name == "CanRaiseEvents").Count());
            Assert.AreEqual(1, methods.Where(m => m.Name == "AdjustFormScrollbars").Count());
        }
Example #4
0
        public void OverridablePropertyPartOfClass()
        {
            MockProperty property = new MockProperty("IsRunning");

            property.DeclaringType = c;
            property.IsOverridable = true;
            returnType.Properties.Add(property);

            IProperty[] properties = OverrideCompletionItemProvider.GetOverridableProperties(c);

            AssertArePropertiesEqual(expectedProperties, properties);
        }
Example #5
0
        public void OverridableMethodPartOfClass()
        {
            MockMethod method = new MockMethod("Run");

            method.DeclaringType = c;
            method.IsOverridable = true;
            returnType.Methods.Add(method);

            IMethod[] methods = OverrideCompletionItemProvider.GetOverridableMethods(c);

            AssertAreMethodsEqual(expectedMethods, methods);
        }
Example #6
0
 public void NullArgument()
 {
     OverrideCompletionItemProvider.GetOverridableProperties(null);
 }
Example #7
0
 public void NullArgument()
 {
     OverrideCompletionItemProvider.GetOverridableMethods(null);
 }