Clean project code after #KT-3996 fix
No overload resolution ambiguity in smart-casts
This commit is contained in:
@@ -33,8 +33,7 @@ public fun PsiElement.getKotlinFqName(): FqName? {
|
||||
return when (element) {
|
||||
is PsiPackage -> FqName(element.getQualifiedName())
|
||||
is PsiClass -> element.getQualifiedName()?.let { FqName(it) }
|
||||
// as is necessary because of unresolved ambiguity: KT-3996
|
||||
is PsiMember -> (element as PsiMember).getName()?.let { name ->
|
||||
is PsiMember -> element.getName()?.let { name ->
|
||||
val prefix = element.getContainingClass()?.getQualifiedName()
|
||||
FqName(if (prefix != null) "$prefix.$name" else name)
|
||||
}
|
||||
|
||||
+1
-2
@@ -34,8 +34,7 @@ public class KotlinInheritedMembersNodeProvider: InheritedMembersNodeProvider<Tr
|
||||
val element = node.getElement()
|
||||
if (element !is KtClassOrObject) return listOf()
|
||||
|
||||
@Suppress("USELESS_CAST") // KT-3996 Workaround
|
||||
val project = (element as NavigatablePsiElement).getProject()
|
||||
val project = element.project
|
||||
|
||||
val context = element.analyze()
|
||||
val descriptor = context[BindingContext.DECLARATION_TO_DESCRIPTOR, element]
|
||||
|
||||
@@ -57,12 +57,8 @@ public class KotlinElementDescriptionProvider : ElementDescriptionProvider {
|
||||
|
||||
if (targetElement !is PsiNamedElement || targetElement !is KtElement) return null
|
||||
|
||||
// as is necessary because of ambiguity: see KT-3996
|
||||
val name = (targetElement as PsiNamedElement).getName()
|
||||
|
||||
return when(location) {
|
||||
is UsageViewLongNameLocation ->
|
||||
name
|
||||
is UsageViewLongNameLocation -> targetElement.getName()
|
||||
is RefactoringDescriptionLocation -> {
|
||||
val kind = elementKind() ?: return null
|
||||
val descriptor = targetDescriptor() ?: return null
|
||||
|
||||
Reference in New Issue
Block a user