From 7dde3603b529757628a44e3bf2242402ee666607 Mon Sep 17 00:00:00 2001 From: Kirill Rakhman Date: Wed, 29 Mar 2023 13:52:44 +0200 Subject: [PATCH] [FIR] Report missing UNRESOLVED_IMPORT #KT-54781 Fixed --- .../testData/resolve/fakeRecursiveSupertype.kt | 2 +- .../testData/resolve/fakeRecursiveTypealias.kt | 2 +- .../testData/resolve/fromBuilder/enums.kt | 2 +- .../testData/resolve/multifile/ByteArray.kt | 2 +- .../FirUnresolvedInMiddleOfImportChecker.kt | 10 ++++++++-- .../diagnostics/tests/ResolveToJava.fir.kt | 2 +- .../diagnostics/tests/SafeCallUnknownType.fir.kt | 4 ++-- .../diagnostics/tests/imports/Imports.fir.kt | 4 ++-- .../tests/imports/brokenImport.fir.kt | 16 ++++++++++++++-- .../diagnostics/tests/imports/brokenImport.kt | 12 ++++++++++++ .../tests/imports/twoImportLists.fir.kt | 4 ++-- .../diagnostics/tests/scopes/kt1080.fir.kt | 4 ++-- 12 files changed, 47 insertions(+), 17 deletions(-) diff --git a/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveSupertype.kt b/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveSupertype.kt index 2e93c84b3b8..5b332e81c6c 100644 --- a/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveSupertype.kt +++ b/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveSupertype.kt @@ -1,4 +1,4 @@ -import incorrect.directory.My +import incorrect.directory.My open class My : My() diff --git a/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveTypealias.kt b/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveTypealias.kt index 0c5bb142525..c255a90e643 100644 --- a/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveTypealias.kt +++ b/compiler/fir/analysis-tests/testData/resolve/fakeRecursiveTypealias.kt @@ -1,4 +1,4 @@ -import incorrect.directory.Your +import incorrect.directory.Your typealias My = incorrect.directory.My diff --git a/compiler/fir/analysis-tests/testData/resolve/fromBuilder/enums.kt b/compiler/fir/analysis-tests/testData/resolve/fromBuilder/enums.kt index 9c3bf2b41ba..21fecd461f1 100644 --- a/compiler/fir/analysis-tests/testData/resolve/fromBuilder/enums.kt +++ b/compiler/fir/analysis-tests/testData/resolve/fromBuilder/enums.kt @@ -1,6 +1,6 @@ // IGNORE_REVERSED_RESOLVE // Ignore reason: KT-57619 -import my.println +import my.println enum class Order { FIRST, diff --git a/compiler/fir/analysis-tests/testData/resolve/multifile/ByteArray.kt b/compiler/fir/analysis-tests/testData/resolve/multifile/ByteArray.kt index 9fdcc9342e2..b2a21669ad4 100644 --- a/compiler/fir/analysis-tests/testData/resolve/multifile/ByteArray.kt +++ b/compiler/fir/analysis-tests/testData/resolve/multifile/ByteArray.kt @@ -10,7 +10,7 @@ interface ByteArray { package use -import test.* +import test.* interface My { // Should be kotlin.ByteArray diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirUnresolvedInMiddleOfImportChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirUnresolvedInMiddleOfImportChecker.kt index 126e809990d..03e22282ca1 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirUnresolvedInMiddleOfImportChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirUnresolvedInMiddleOfImportChecker.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir.analysis.checkers.syntax +import com.intellij.psi.tree.TokenSet import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.diagnostics.DiagnosticReporter @@ -90,6 +91,11 @@ object FirUnresolvedInMiddleOfImportChecker : FirDeclarationSyntaxCheckerutils.* import java.io.PrintStream import java.lang.Comparable as Com diff --git a/compiler/testData/diagnostics/tests/SafeCallUnknownType.fir.kt b/compiler/testData/diagnostics/tests/SafeCallUnknownType.fir.kt index f3fe54b94e8..cd1a0683804 100644 --- a/compiler/testData/diagnostics/tests/SafeCallUnknownType.fir.kt +++ b/compiler/testData/diagnostics/tests/SafeCallUnknownType.fir.kt @@ -1,6 +1,6 @@ -import com.unknown +import com.unknown fun ff() { val a = unknown() val b = a?.plus(42) -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/tests/imports/Imports.fir.kt b/compiler/testData/diagnostics/tests/imports/Imports.fir.kt index b85b896e4a8..ca0512d883a 100644 --- a/compiler/testData/diagnostics/tests/imports/Imports.fir.kt +++ b/compiler/testData/diagnostics/tests/imports/Imports.fir.kt @@ -11,12 +11,12 @@ import b.constant.fff //function from val import b.constant.dValue //property from val import b.constant import b.E.Companion.f //val from companion object -import smth.illegal +import smth.illegal import b.C.smth.illegal import b.bar.smth import b.bar.* import b.unr.unr.unr -import unr.unr.unr +import unr.unr.unr fun test(arg: B) { foo(value) diff --git a/compiler/testData/diagnostics/tests/imports/brokenImport.fir.kt b/compiler/testData/diagnostics/tests/imports/brokenImport.fir.kt index a3847d404e4..5e88e0a2b22 100644 --- a/compiler/testData/diagnostics/tests/imports/brokenImport.fir.kt +++ b/compiler/testData/diagnostics/tests/imports/brokenImport.fir.kt @@ -1,2 +1,14 @@ -import foo.bar.baz -import Outer.``.getInner +// FILE: Klass.kt +package pkg + +private class Klass + +// FILE: test.kt +package pack + +import foo.bar.baz +import Outer.``.getInner +import pack.UnresolvedName +import pkg.Klass + +class MainSource diff --git a/compiler/testData/diagnostics/tests/imports/brokenImport.kt b/compiler/testData/diagnostics/tests/imports/brokenImport.kt index ebeb84b43ee..20e14d51767 100644 --- a/compiler/testData/diagnostics/tests/imports/brokenImport.kt +++ b/compiler/testData/diagnostics/tests/imports/brokenImport.kt @@ -1,2 +1,14 @@ +// FILE: Klass.kt +package pkg + +private class Klass + +// FILE: test.kt +package pack + import foo.bar.baz import Outer.``.getInner +import pack.UnresolvedName +import pkg.Klass + +class MainSource diff --git a/compiler/testData/diagnostics/tests/imports/twoImportLists.fir.kt b/compiler/testData/diagnostics/tests/imports/twoImportLists.fir.kt index b11a407face..3ee6f3d97b4 100644 --- a/compiler/testData/diagnostics/tests/imports/twoImportLists.fir.kt +++ b/compiler/testData/diagnostics/tests/imports/twoImportLists.fir.kt @@ -10,14 +10,14 @@ import b.C.Companion.bar //function from companion object import b.C.Companion.cValue //property from companion object import b.constant.fff //function from val import b.constant.dValue //property from val -import smth.illegal +import smth.illegal import b.C.smth.illegal <<<HEAD import b.bar.smth import b.bar.* import b.unr.unr.unr -import unr.unr.unr +import unr.unr.unr import b.constant import b.E.Companion.f //val from companion object diff --git a/compiler/testData/diagnostics/tests/scopes/kt1080.fir.kt b/compiler/testData/diagnostics/tests/scopes/kt1080.fir.kt index 017d9ac3d90..4d174979a95 100644 --- a/compiler/testData/diagnostics/tests/scopes/kt1080.fir.kt +++ b/compiler/testData/diagnostics/tests/scopes/kt1080.fir.kt @@ -3,11 +3,11 @@ package kt1080 -import reflect.Constructor +import reflect.Constructor import b.* import d -import d.Test +import d.Test import b.d class Some: Test()