public static IDeclaredElement EliminateDelegateInvokeMethod([NotNull] this IDeclaredElement declaredElement) => DeclaredElementUtil.EliminateDelegateInvokeMethod(declaredElement);
public IEnumerable <string> GetAllPossibleWordsInFile(IDeclaredElement element) { var names = new JetHashSet <string>(); var constructor = element as IConstructor; if (constructor != null) { ITypeElement typeElement = constructor.GetContainingType(); if (typeElement != null) { names.Add(typeElement.ShortName); } names.Add(DeclaredElementConstants.CONSTRUCTOR_NAME); return(names); } names.Add(element.ShortName); if (PsiDeclaredElementUtil.IsCollectionInitializerAddMethod(element)) { names.Add("new"); } if (PsiDeclaredElementUtil.IsForeachEnumeratorPatternMember(element)) { names.Add("foreach"); } if (DeclaredElementUtil.IsAsyncAwaitablePatternMember(element)) { names.Add("async"); names.Add("await"); } // LINQ var method = element as IMethod; if (method != null) { if (method.ShortName == "Cast" && method.TypeParameters.Count == 1 && IsCorrectParametersNumberForQueryPatternMethod(method, 0)) { names.Add("from"); } if (method.ShortName == "Select" && IsCorrectParametersNumberForQueryPatternMethod(method, 1)) { names.Add("from"); } if (method.ShortName == "SelectMany" && IsCorrectParametersNumberForQueryPatternMethod(method, 2)) { names.Add("from"); } if (method.ShortName == "Where" && IsCorrectParametersNumberForQueryPatternMethod(method, 1)) { names.Add("where"); } if ((method.ShortName == "Join" || method.ShortName == "GroupJoin") && IsCorrectParametersNumberForQueryPatternMethod(method, 4)) { names.Add("join"); } if ((method.ShortName == "OrderBy" || method.ShortName == "OrderByDescending" || method.ShortName == "ThenBy" || method.ShortName == "ThenByDescending") && IsCorrectParametersNumberForQueryPatternMethod(method, 1)) { names.Add("orderby"); } if (method.ShortName == "GroupBy" && (IsCorrectParametersNumberForQueryPatternMethod(method, 1) || IsCorrectParametersNumberForQueryPatternMethod(method, 2))) { names.Add("group"); } } return(names); }