public static string SuggestShortReferenceName([NotNull] IReference reference,
                                                       [NotNull] IDeclaredElement declaredElement)
        {
            var sourceName = declaredElement.GetSourceName();

            var treeNode = reference.GetTreeNode();

            if (declaredElement is ITypeElement)
            {
                var referenceName = treeNode as ITypeReferenceName;
                if (AttributeNavigator.GetByReferenceName(referenceName) != null &&
                    sourceName.EndsWith(FSharpImplUtil.AttributeSuffix, StringComparison.Ordinal) &&
                    sourceName != FSharpImplUtil.AttributeSuffix)
                {
                    sourceName = sourceName.TrimFromEnd(FSharpImplUtil.AttributeSuffix);
                }
            }

            return(SuggestShortReferenceName(sourceName, treeNode.Language));
        }
 public static string SuggestShortReferenceName(IDeclaredElement declaredElement, PsiLanguageType language) =>
 SuggestShortReferenceName(declaredElement.GetSourceName(), language);