Redundant explict type: do not report for aliased types

#KT-29128 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-02-02 10:51:30 +09:00
committed by Mikhail Glukhikh
parent 25952036af
commit bf7f7c81b1
3 changed files with 14 additions and 0 deletions
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
import org.jetbrains.kotlin.idea.intentions.RemoveExplicitTypeIntention
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.types.AbbreviatedType
class RedundantExplicitTypeInspection : AbstractKotlinInspection() {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean) =
@@ -22,6 +23,7 @@ class RedundantExplicitTypeInspection : AbstractKotlinInspection() {
val initializer = property.initializer ?: return
val type = property.resolveToDescriptorIfAny()?.type ?: return
if (type is AbbreviatedType) return
when (initializer) {
is KtConstantExpression -> {
when (initializer.node.elementType) {
@@ -0,0 +1,7 @@
// PROBLEM: none
fun main() {
val id: Id<caret> = 11
}
typealias Id = Int
@@ -4882,6 +4882,11 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest {
public void testTop() throws Exception {
runTest("idea/testData/inspectionsLocal/redundantExplicitType/top.kt");
}
@TestMetadata("typealias.kt")
public void testTypealias() throws Exception {
runTest("idea/testData/inspectionsLocal/redundantExplicitType/typealias.kt");
}
}
@TestMetadata("idea/testData/inspectionsLocal/redundantGetter")