Introduce "Redundant return label" inspection #KT-25270 Fixed

This commit is contained in:
Toshiaki Kameyama
2018-08-06 18:44:27 +03:00
committed by Mikhail Glukhikh
parent b91f30ab15
commit 2dcbf6aa34
19 changed files with 193 additions and 0 deletions
@@ -402,3 +402,11 @@ fun qualifiedExpressionRecursiveVisitor(block: (KtQualifiedExpression) -> Unit)
block(qualifiedExpression)
}
}
fun returnExpressionVisitor(block: (KtReturnExpression) -> Unit) =
object : KtVisitorVoid() {
override fun visitReturnExpression(returnExpression: KtReturnExpression) {
super.visitReturnExpression(returnExpression)
block(returnExpression)
}
}
@@ -130,6 +130,10 @@ inline fun <reified T : PsiElement, reified V : PsiElement, reified U : PsiEleme
return PsiTreeUtil.getParentOfType(this, T::class.java, V::class.java, U::class.java)
}
inline fun <reified T : PsiElement> PsiElement.getParentOfType(strict: Boolean, vararg stopAt: Class<out PsiElement>): T? {
return PsiTreeUtil.getParentOfType(this, T::class.java, strict, *stopAt)
}
inline fun <reified T : PsiElement> PsiElement.getStrictParentOfType(): T? {
return PsiTreeUtil.getParentOfType(this, T::class.java, true)
}