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);