diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt index e3534b246cf..faf9e7af731 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.diagnostics.Severity import org.jetbrains.kotlin.idea.caches.resolve.analyze +import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall import org.jetbrains.kotlin.idea.core.replaced import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor import org.jetbrains.kotlin.lexer.KtTokens @@ -21,8 +22,10 @@ import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtLambdaExpression import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.psi.psiUtil.anyDescendantOfType +import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForSelector import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.callUtil.getType +import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.types.typeUtil.isSubtypeOf @@ -84,7 +87,12 @@ class SamConversionToAnonymousObjectIntention : SelfTargetingRangeIntention {}) +} diff --git a/idea/testData/intentions/samConversionToAnonymousObject/nestedClass.kt.after b/idea/testData/intentions/samConversionToAnonymousObject/nestedClass.kt.after new file mode 100644 index 00000000000..51f7a399228 --- /dev/null +++ b/idea/testData/intentions/samConversionToAnonymousObject/nestedClass.kt.after @@ -0,0 +1,7 @@ +fun main() { + J().foo(object : J.Sam { + override fun bar() { + + } + }) +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 35e92c87ead..4e929fdef61 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -14652,6 +14652,11 @@ public class IntentionTestGenerated extends AbstractIntentionTest { runTest("idea/testData/intentions/samConversionToAnonymousObject/labeledReturn_ni.kt"); } + @TestMetadata("nestedClass.kt") + public void testNestedClass() throws Exception { + runTest("idea/testData/intentions/samConversionToAnonymousObject/nestedClass.kt"); + } + @TestMetadata("notJavaInterface.kt") public void testNotJavaInterface() throws Exception { runTest("idea/testData/intentions/samConversionToAnonymousObject/notJavaInterface.kt");