Allow suppressing warnings for secondary constructor (KT-12627)

(cherry picked from commit 41cf868)

 #KT-12627 Fixed
This commit is contained in:
Kirill Rakhman
2016-08-14 14:23:02 +03:00
committed by Nikolay Krasko
parent 7a4d20b4cf
commit e6d76a9b71
5 changed files with 21 additions and 1 deletions
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.idea.quickfix.AnnotationHostKind
import org.jetbrains.kotlin.idea.quickfix.KotlinSuppressIntentionAction
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import java.util.Collections
import java.util.*
class KotlinSuppressableWarningProblemGroup(
private val diagnosticFactory: DiagnosticFactory<*>
@@ -110,6 +110,8 @@ private object DeclarationKindDetector : KtVisitor<AnnotationHostKind?, Unit?>()
override fun visitParameter(d: KtParameter, data: Unit?) = detect(d, "parameter", newLineNeeded = false)
override fun visitSecondaryConstructor(constructor: KtSecondaryConstructor, data: Unit?) = detect(constructor, "secondary constructor of")
override fun visitObjectDeclaration(d: KtObjectDeclaration, data: Unit?): AnnotationHostKind? {
if (d.isCompanion()) return detect(d, "companion object", name = "${d.name} of ${d.getStrictParentOfType<KtClass>()?.name}")
if (d.parent is KtObjectLiteralExpression) return null