Skip to content

Commit

Permalink
Make KtExpression.descriptor private
Browse files Browse the repository at this point in the history
  • Loading branch information
atulgpt committed Jan 1, 2023
1 parent 949e8e5 commit 9b50142
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 4 deletions.
1 change: 0 additions & 1 deletion detekt-psi-utils/api/detekt-psi-utils.api
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,6 @@ public final class io/gitlab/arturbosch/detekt/rules/TraversingKt {
}

public final class io/gitlab/arturbosch/detekt/rules/TypeUtilsKt {
public static final fun descriptor (Lorg/jetbrains/kotlin/psi/KtExpression;Lorg/jetbrains/kotlin/resolve/BindingContext;)Lorg/jetbrains/kotlin/descriptors/CallableDescriptor;
public static final fun fqNameOrNull (Lorg/jetbrains/kotlin/types/KotlinType;)Lorg/jetbrains/kotlin/name/FqName;
public static final fun getDataFlowAwareTypes (Lorg/jetbrains/kotlin/psi/KtExpression;Lorg/jetbrains/kotlin/resolve/BindingContext;Lorg/jetbrains/kotlin/config/LanguageVersionSettings;Lorg/jetbrains/kotlin/resolve/calls/smartcasts/DataFlowValueFactory;Lorg/jetbrains/kotlin/types/KotlinType;)Ljava/util/Set;
public static synthetic fun getDataFlowAwareTypes$default (Lorg/jetbrains/kotlin/psi/KtExpression;Lorg/jetbrains/kotlin/resolve/BindingContext;Lorg/jetbrains/kotlin/config/LanguageVersionSettings;Lorg/jetbrains/kotlin/resolve/calls/smartcasts/DataFlowValueFactory;Lorg/jetbrains/kotlin/types/KotlinType;ILjava/lang/Object;)Ljava/util/Set;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,5 +98,5 @@ fun KtExpression.isNullable(
return dataFlowTypes.all { it.isNullable() }
}

fun KtExpression.descriptor(bindingContext: BindingContext): CallableDescriptor? =
private fun KtExpression.descriptor(bindingContext: BindingContext): CallableDescriptor? =
getResolvedCall(bindingContext)?.resultingDescriptor
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,18 @@ import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.rules.descriptor
import io.gitlab.arturbosch.detekt.rules.isNullable
import io.gitlab.arturbosch.detekt.rules.safeAs
import org.jetbrains.kotlin.com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtCallExpression
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtQualifiedExpression
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
import org.jetbrains.kotlin.psi.KtStringTemplateEntry
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull

/**
Expand Down Expand Up @@ -61,7 +62,7 @@ class NullableToStringCall(config: Config = Config.empty) : Rule(config) {
val targetExpression = simpleOrCallExpression.targetExpression() ?: return

if (simpleOrCallExpression.safeAs<KtCallExpression>()?.calleeExpression?.text == "toString" &&
simpleOrCallExpression.descriptor(bindingContext)?.fqNameOrNull() == toString
simpleOrCallExpression.descriptor()?.fqNameOrNull() == toString
) {
report(targetExpression)
} else if (targetExpression.parent is KtStringTemplateEntry) {
Expand Down Expand Up @@ -99,6 +100,8 @@ class NullableToStringCall(config: Config = Config.empty) : Rule(config) {
report(codeSmell)
}

private fun KtExpression.descriptor(): CallableDescriptor? = getResolvedCall(bindingContext)?.resultingDescriptor

companion object {
val toString = FqName("kotlin.toString")
}
Expand Down

0 comments on commit 9b50142

Please sign in to comment.