Optimization: RedundantCompanionReferenceInspection

GitOrigin-RevId: 673a1d40a06b718b6961d67a0b16bb80c8806235
This commit is contained in:
Mikhail Glukhikh
2018-04-03 17:30:46 +03:00
committed by intellij-monorepo-bot
parent ab657b16e8
commit aeff9fcae8
@@ -22,13 +22,13 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
class RedundantCompanionReferenceInspection : AbstractKotlinInspection() {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
return referenceExpressionVisitor(fun(expression) {
val parent = expression.parent as? KtDotQualifiedExpression ?: return
if (expression == parent.selectorExpression && parent.parent !is KtDotQualifiedExpression) return
val descriptor = (expression.mainReference.resolve() as? KtObjectDeclaration)?.descriptor ?: return
if (!DescriptorUtils.isCompanionObject(descriptor)) return
val parent = expression.parent as? KtDotQualifiedExpression ?: return
if (expression == parent.receiverExpression && expression.text == descriptor.containingDeclaration?.name?.asString()) return
if (expression == parent.selectorExpression && parent.parent !is KtDotQualifiedExpression) return
holder.registerProblem(
expression,