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(); } } }
IProperty[] GetOverridableProperties(IClass baseClass) { return(OverrideCompletionItemProvider.GetOverridableProperties(new MockClass("DerivedClass") { BaseType = baseClass.DefaultReturnType })); }
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()); }
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); }
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); }
public void NullArgument() { OverrideCompletionItemProvider.GetOverridableProperties(null); }
public void NullArgument() { OverrideCompletionItemProvider.GetOverridableMethods(null); }