Skip to content

Commit

Permalink
Remove KtNamedDeclaration.identifierName() (#7308)
Browse files Browse the repository at this point in the history
This function does not provide value over using the `name` directly.
  • Loading branch information
3flex committed May 21, 2024
1 parent 1a98530 commit 21cb208
Show file tree
Hide file tree
Showing 16 changed files with 25 additions and 42 deletions.
4 changes: 0 additions & 4 deletions detekt-psi-utils/api/detekt-psi-utils.api
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ public final class io/gitlab/arturbosch/detekt/rules/AllowedExceptionNamePattern
public static final fun isAllowedExceptionName (Lorg/jetbrains/kotlin/psi/KtCatchClause;Lkotlin/text/Regex;)Z
}

public final class io/gitlab/arturbosch/detekt/rules/IdentifierNameKt {
public static final fun identifierName (Lorg/jetbrains/kotlin/psi/KtNamedDeclaration;)Ljava/lang/String;
}

public final class io/gitlab/arturbosch/detekt/rules/IsPartOfUtilsKt {
public static final fun isPartOfString (Lorg/jetbrains/kotlin/com/intellij/psi/PsiElement;)Z
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ package io.gitlab.arturbosch.detekt.rules
import org.jetbrains.kotlin.psi.KtCatchClause

fun KtCatchClause.isAllowedExceptionName(regex: Regex) =
catchParameter?.identifierName()?.matches(regex) == true
catchParameter?.name?.matches(regex) == true

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import io.gitlab.arturbosch.detekt.api.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.fqNameOrNull
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isConstant
import io.gitlab.arturbosch.detekt.rules.isOverride
import org.jetbrains.kotlin.psi.KtCallableDeclaration
Expand Down Expand Up @@ -56,7 +55,7 @@ class BooleanPropertyNaming(config: Config) : Rule(
}

private fun validateDeclaration(declaration: KtCallableDeclaration) {
val name = declaration.identifierName()
val name = declaration.name ?: return
val typeName = getTypeName(declaration)
val isBooleanType =
typeName == KOTLIN_BOOLEAN_TYPE_NAME || typeName == JAVA_BOOLEAN_TYPE_NAME
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import org.jetbrains.kotlin.psi.KtClassOrObject

/**
Expand All @@ -28,7 +27,7 @@ class ClassNaming(config: Config) : Rule(
if (classOrObject.nameAsSafeName.isSpecial || classOrObject.nameIdentifier?.parent?.javaClass == null) {
return
}
if (!classOrObject.identifierName().removeSurrounding("`").matches(classPattern)) {
if (classOrObject.name?.matches(classPattern) != true) {
report(
CodeSmell(
Entity.atName(classOrObject),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import org.jetbrains.kotlin.psi.KtEnumEntry

/**
Expand All @@ -23,7 +22,7 @@ class EnumNaming(config: Config) : Rule(
private val enumEntryPattern: Regex by config("[A-Z][_a-zA-Z0-9]*") { it.toRegex() }

override fun visitEnumEntry(enumEntry: KtEnumEntry) {
if (!enumEntry.identifierName().matches(enumEntryPattern)) {
if (enumEntry.name?.matches(enumEntryPattern) != true) {
report(
CodeSmell(
Entity.atName(enumEntry),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isOperator
import io.gitlab.arturbosch.detekt.rules.isOverride
import org.jetbrains.kotlin.psi.KtNamedFunction
Expand All @@ -29,8 +28,9 @@ class FunctionNameMaxLength(config: Config) : Rule(
if (function.isOverride() || function.isOperator()) {
return
}
val functionName = function.name ?: return

if (function.identifierName().length > maximumFunctionNameLength) {
if (functionName.length > maximumFunctionNameLength) {
report(
CodeSmell(
Entity.atName(function),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isOperator
import io.gitlab.arturbosch.detekt.rules.isOverride
import org.jetbrains.kotlin.psi.KtNamedFunction
Expand All @@ -29,8 +28,9 @@ class FunctionNameMinLength(config: Config) : Rule(
if (function.isOverride() || function.isOperator()) {
return
}
val functionName = function.name ?: return

if (function.identifierName().length < minimumFunctionNameLength) {
if (functionName.length < minimumFunctionNameLength) {
report(
CodeSmell(
Entity.atName(function),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.api.configWithFallback
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isOverride
import io.gitlab.arturbosch.detekt.rules.naming.util.isContainingExcludedClass
import org.jetbrains.kotlin.psi.KtNamedFunction
Expand Down Expand Up @@ -47,7 +46,7 @@ class FunctionParameterNaming(config: Config) : Rule(
return
}

val identifier = parameter.identifierName()
val identifier = parameter.name ?: return
if (!identifier.matches(parameterPattern)) {
report(
CodeSmell(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.rules.fqNameOrNull
import io.gitlab.arturbosch.detekt.rules.identifierName
import org.jetbrains.kotlin.builtins.isFunctionOrKFunctionTypeWithAnySuspendability
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtCallableDeclaration
Expand Down Expand Up @@ -55,7 +54,7 @@ class NonBooleanPropertyPrefixedWithIs(config: Config) : Rule(
}

private fun validateDeclaration(declaration: KtCallableDeclaration) {
val name = declaration.identifierName()
val name = declaration.name ?: return
if (name.startsWith("is") && name.getOrNull(2)?.isUpperCase() == true) {
val (type, typeFqName) = getType(declaration) ?: return
if (!type.isBoolean()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isConstant
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtObjectDeclaration
Expand Down Expand Up @@ -51,17 +50,17 @@ class ObjectPropertyNaming(config: Config) : Rule(
this.isMember && this.getNonStrictParentOfType<KtClassOrObject>() is KtObjectDeclaration

private fun handleConstant(property: KtProperty) {
if (!property.identifierName().matches(constantPattern)) {
if (property.name?.matches(constantPattern) != true) {
report(property, "Object constant names should match the pattern: $constantPattern")
}
}

private fun handleProperty(property: KtProperty) {
if (property.isPrivate()) {
if (!property.identifierName().matches(privatePropertyPattern)) {
if (property.name?.matches(privatePropertyPattern) != true) {
report(property, "Private object property names should match the pattern: $privatePropertyPattern")
}
} else if (!property.identifierName().matches(propertyPattern)) {
} else if (property.name?.matches(propertyPattern) != true) {
report(property, "Object property names should match the pattern: $propertyPattern")
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isConstant
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration
Expand Down Expand Up @@ -43,17 +42,17 @@ class TopLevelPropertyNaming(config: Config) : Rule(
}

private fun handleConstant(property: KtProperty) {
if (!property.identifierName().matches(constantPattern)) {
if (property.name?.matches(constantPattern) != true) {
report(property, "Top level constant names should match the pattern: $constantPattern")
}
}

private fun handleProperty(property: KtProperty) {
if (property.isPrivate()) {
if (!property.identifierName().matches(privatePropertyPattern)) {
if (property.name?.matches(privatePropertyPattern) != true) {
report(property, "Private top level property names should match the pattern: $privatePropertyPattern")
}
} else if (!property.identifierName().matches(propertyPattern)) {
} else if (property.name?.matches(propertyPattern) != true) {
report(property, "Top level property names should match the pattern: $propertyPattern")
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isOverride
import org.jetbrains.kotlin.psi.KtProperty

Expand All @@ -26,7 +25,9 @@ class VariableMaxLength(config: Config) : Rule(
return
}

if (property.identifierName().length > maximumVariableNameLength) {
val propertyName = property.name ?: return

if (propertyName.length > maximumVariableNameLength) {
report(
CodeSmell(
Entity.atName(property),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isOverride
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.resolve.calls.util.isSingleUnderscore
Expand All @@ -31,7 +30,9 @@ class VariableMinLength(config: Config) : Rule(
return
}

if (property.identifierName().length < minimumVariableNameLength) {
val propertyName = property.name ?: return

if (propertyName.length < minimumVariableNameLength) {
report(
CodeSmell(
Entity.atName(property),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import io.gitlab.arturbosch.detekt.api.Configuration
import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.rules.identifierName
import io.gitlab.arturbosch.detekt.rules.isOverride
import io.gitlab.arturbosch.detekt.rules.naming.util.isContainingExcludedClassOrObject
import org.jetbrains.kotlin.psi.KtObjectDeclaration
Expand Down Expand Up @@ -51,7 +50,7 @@ class VariableNaming(config: Config) : Rule(
return
}

val identifier = property.identifierName()
val identifier = property.name ?: return
if (property.isPrivate()) {
if (!identifier.matches(privateVariablePattern)) {
report(property, "Private variable names should match the pattern: $privateVariablePattern")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package io.gitlab.arturbosch.detekt.rules.naming.util

import io.gitlab.arturbosch.detekt.rules.identifierName
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.psiUtil.containingClass
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject

internal fun KtDeclaration.isContainingExcludedClassOrObject(pattern: Regex) =
containingClassOrObject?.identifierName()?.matches(pattern) == true
containingClassOrObject?.name?.matches(pattern) == true

internal fun KtDeclaration.isContainingExcludedClass(pattern: Regex) =
containingClass()?.identifierName()?.matches(pattern) == true
containingClass()?.name?.matches(pattern) == true

0 comments on commit 21cb208

Please sign in to comment.