diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt index 3a859754b83..39b07dbee6b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/IDELightClassContexts.kt @@ -34,10 +34,10 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.frontend.di.configureModule -import org.jetbrains.kotlin.idea.caches.project.getModuleInfo -import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.caches.lightClasses.IDELightClassConstructionContext.Mode.EXACT import org.jetbrains.kotlin.idea.caches.lightClasses.IDELightClassConstructionContext.Mode.LIGHT +import org.jetbrains.kotlin.idea.caches.project.getModuleInfo +import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider import org.jetbrains.kotlin.idea.project.IdeaEnvironment import org.jetbrains.kotlin.idea.project.ResolveElementCache @@ -173,6 +173,8 @@ internal object IDELightClassContexts { } private fun isDummyResolveApplicable(classOrObject: KtClassOrObject): Boolean { + if (classOrObject.hasModifier(KtTokens.INLINE_KEYWORD)) return false + if (classOrObject.hasLightClassMatchingErrors) return false if (hasDelegatedSupertypes(classOrObject)) return false diff --git a/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/after/iFace.kt b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/after/iFace.kt new file mode 100644 index 00000000000..e278e3241a8 --- /dev/null +++ b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/after/iFace.kt @@ -0,0 +1,3 @@ +interface IFace { + fun foo() +} \ No newline at end of file diff --git a/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/after/test.kt b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/after/test.kt new file mode 100644 index 00000000000..0dc55a46a14 --- /dev/null +++ b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/after/test.kt @@ -0,0 +1,3 @@ +inline class InlineClass(val x: Int) : IFace { + override fun foo() {} +} \ No newline at end of file diff --git a/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/before/iFace.kt b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/before/iFace.kt new file mode 100644 index 00000000000..e278e3241a8 --- /dev/null +++ b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/before/iFace.kt @@ -0,0 +1,3 @@ +interface IFace { + fun foo() +} \ No newline at end of file diff --git a/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/before/test.kt b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/before/test.kt new file mode 100644 index 00000000000..4a403af2d85 --- /dev/null +++ b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/before/test.kt @@ -0,0 +1,3 @@ +inline class InlineClass(val x: Int) : IFace { + override fun foo() {} +} \ No newline at end of file diff --git a/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/inlineClassesImplInterface.test b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/inlineClassesImplInterface.test new file mode 100644 index 00000000000..c2bdad89914 --- /dev/null +++ b/idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/inlineClassesImplInterface.test @@ -0,0 +1,5 @@ +{ + "inspectionClass": "org.jetbrains.kotlin.idea.inspections.UnusedSymbolInspection", + "problem": "none", + "mainFile": "test.kt" +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/formatter/TypingIndentationTestBaseGenerated.java b/idea/tests/org/jetbrains/kotlin/formatter/TypingIndentationTestBaseGenerated.java index fdac1eac895..8b230a272fc 100644 --- a/idea/tests/org/jetbrains/kotlin/formatter/TypingIndentationTestBaseGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/formatter/TypingIndentationTestBaseGenerated.java @@ -236,16 +236,9 @@ public class TypingIndentationTestBaseGenerated extends AbstractTypingIndentatio runTest("idea/testData/indentationOnNewline/KT20783.after.kt"); } - @TestMetadata("LambdaInCallWithAllightMultilineParameters.after.kt") - public void testLambdaInCallWithAllightMultilineParameters() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/indentationOnNewline/LambdaInCallWithAllightMultilineParameters.after.kt"); - doNewlineTest(fileName); - } - @TestMetadata("ModifierListInUnfinishedDeclaration.after.kt") public void testModifierListInUnfinishedDeclaration() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/indentationOnNewline/ModifierListInUnfinishedDeclaration.after.kt"); - doNewlineTest(fileName); + runTest("idea/testData/indentationOnNewline/ModifierListInUnfinishedDeclaration.after.kt"); } @TestMetadata("MultideclarationAfterEq.after.kt") diff --git a/idea/tests/org/jetbrains/kotlin/idea/inspections/MultiFileLocalInspectionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/inspections/MultiFileLocalInspectionTestGenerated.java index af6d9fbe6ce..c0f6c7c16e3 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/inspections/MultiFileLocalInspectionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/inspections/MultiFileLocalInspectionTestGenerated.java @@ -88,4 +88,9 @@ public class MultiFileLocalInspectionTestGenerated extends AbstractMultiFileLoca public void testUnusedSymbol_fromKotlinTestClass_FromKotlinTestClass() throws Exception { runTest("idea/testData/multiFileLocalInspections/unusedSymbol/fromKotlinTestClass/fromKotlinTestClass.test"); } + + @TestMetadata("unusedSymbol/inlineClassesImplInterface/inlineClassesImplInterface.test") + public void testUnusedSymbol_inlineClassesImplInterface_InlineClassesImplInterface() throws Exception { + runTest("idea/testData/multiFileLocalInspections/unusedSymbol/inlineClassesImplInterface/inlineClassesImplInterface.test"); + } }