diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java index 432abc27819..a87cba0262b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java @@ -196,7 +196,7 @@ public class BindingContextUtils { @NotNull private static List callableDescriptorToDeclarations(@NotNull BindingContext context, @NotNull CallableMemberDescriptor callable) { if (callable.getKind() == CallableMemberDescriptor.Kind.SYNTHESIZED) { - DeclarationDescriptor source = context.get(BindingContext.SOURCE_DESCRIPTOR_FOR_SYNTHESIZED, callable); + DeclarationDescriptor source = context.get(BindingContext.SOURCE_DESCRIPTOR_FOR_SYNTHESIZED, callable.getOriginal()); return source != null ? descriptorToDeclarations(context, source) : Collections.emptyList(); } diff --git a/idea/testData/resolve/SamAdapter.kt b/idea/testData/resolve/SamAdapter.kt new file mode 100644 index 00000000000..06b533b7ee3 --- /dev/null +++ b/idea/testData/resolve/SamAdapter.kt @@ -0,0 +1 @@ +val c = javax.swing.SwingUtilities.invokeLater { } \ No newline at end of file diff --git a/idea/testData/resolve/SamConstructorTypeArguments.kt b/idea/testData/resolve/SamConstructorTypeArguments.kt new file mode 100644 index 00000000000..8673a5cda36 --- /dev/null +++ b/idea/testData/resolve/SamConstructorTypeArguments.kt @@ -0,0 +1 @@ +val c = java.util.Comparator { x, y -> 1 } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java b/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java index eb3b855717a..675b3beaf86 100644 --- a/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java +++ b/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java @@ -54,6 +54,14 @@ public class ResolveBaseTest extends LightCodeInsightTestCase { doSingleResolveTest("(java.util).Comparator"); } + public void testSamConstructorTypeArguments() throws Exception { + doSingleResolveTest("(java.util).Comparator"); + } + + public void testSamAdapter() throws Exception { + doSingleResolveTest("(in javax.swing.SwingUtilities).invokeLater(Runnable)"); + } + public void testSeveralOverrides() throws Exception { doMultiResolveTest(); }