mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Revert "[kotlin] Remove useless check for android DSL"
This reverts commit f5cde819c0f65fef7adaa3bf3197573796f7c2f4. GitOrigin-RevId: 8bc869641fbec3bc35171c1729e8a96cd3e0dd7d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
6bf6087d24
commit
2b77f37dd5
+15
@@ -61,6 +61,10 @@ internal class KotlinOptionsToCompilerOptionsInGradleScriptInspection : Abstract
|
||||
return object : KtVisitorVoid() {
|
||||
override fun visitReferenceExpression(expression: KtReferenceExpression) {
|
||||
val referencedName = (expression as? KtNameReferenceExpression)?.getReferencedName() ?: return
|
||||
// ATM, we don't have proper dependencies for tests to perform `analyze` in Gradle build scripts
|
||||
if (referencedName == "android" && !isUnitTestMode()) {
|
||||
if (elementIsAndroidDsl(expression)) return
|
||||
}
|
||||
if (referencedName != "kotlinOptions") return
|
||||
|
||||
val expressionParent = expression.parent
|
||||
@@ -133,6 +137,17 @@ internal class KotlinOptionsToCompilerOptionsInGradleScriptInspection : Abstract
|
||||
}
|
||||
}
|
||||
|
||||
private fun elementIsAndroidDsl(expression: KtExpression): Boolean {
|
||||
val importableFqName = analyze(expression) {
|
||||
val symbol = expression.resolveToCall()
|
||||
?.successfulFunctionCallOrNull()?.partiallyAppliedSymbol?.signature?.symbol
|
||||
val kaSymbol =
|
||||
(symbol?.containingDeclaration as? KaClassLikeSymbol) ?: expression.resolveExpression()
|
||||
kaSymbol?.importableFqName?.toString()
|
||||
}
|
||||
return importableFqName == "org.gradle.kotlin.dsl.android"
|
||||
}
|
||||
|
||||
private fun expressionsContainForbiddenOperations(element: PsiElement): Boolean {
|
||||
if (element is KtBinaryExpression) { // for sth like `kotlinOptions.sourceMapEmbedSources = "inlining"`
|
||||
if (expressionContainsOperationForbiddenToReplace(element)) return true
|
||||
|
||||
Reference in New Issue
Block a user