K2: add JVM checker for NO_REFLECTION_IN_CLASS_PATH warning

It's based on the existing K1 checker `JvmReflectionAPICallChecker`.

 #KT-60587 Fixed
This commit is contained in:
Alexander Udalov
2023-07-29 00:56:16 +02:00
committed by Space Team
parent bd46bb02c1
commit 7fc3e60854
15 changed files with 158 additions and 67 deletions
@@ -17,8 +17,8 @@
package org.jetbrains.kotlin.resolve.calls.checkers
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.builtins.StandardNames.KOTLIN_REFLECT_FQ_NAME
import org.jetbrains.kotlin.builtins.ReflectionTypes
import org.jetbrains.kotlin.builtins.StandardNames.KOTLIN_REFLECT_FQ_NAME
import org.jetbrains.kotlin.config.AnalysisFlags.allowFullyQualifiedNameInKClass
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.ClassDescriptor
@@ -96,7 +96,6 @@ abstract class AbstractReflectionApiCallChecker(
private fun isReflectionSource(reportOn: PsiElement): Boolean {
val file = reportOn.containingFile as? KtFile ?: return false
val fqName = file.packageFqName.toUnsafe()
return fqName == KOTLIN_REFLECT_FQ_NAME.toUnsafe() || fqName.asString().startsWith(KOTLIN_REFLECT_FQ_NAME.asString() + ".")
return file.packageFqName.startsWith(KOTLIN_REFLECT_FQ_NAME)
}
}