diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallExpressionResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallExpressionResolver.java index 315b68fda55..8c0c820ae65 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallExpressionResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallExpressionResolver.java @@ -246,7 +246,7 @@ public class CallExpressionResolver { context.replaceTraceAndCache(temporaryForVariable), call, CheckValueArgumentsMode.ENABLED); OverloadResolutionResults resolutionResult = callResolver.resolveSimpleProperty(contextForVariable); - if (!resolutionResult.isNothing()) { + if (resolutionResult.isSuccess()) { temporaryForVariable.commit(); checkSuper(receiver, resolutionResult, context.trace, nameExpression); result[0] = true; @@ -271,8 +271,8 @@ public class CallExpressionResolver { return jetType; } temporaryForVariable.commit(); - result[0] = false; - return null; + result[0] = !resolutionResult.isNothing(); + return resolutionResult.isSingleResult() ? resolutionResult.getResultingDescriptor().getReturnType() : null; } @NotNull diff --git a/compiler/testData/diagnostics/tests/enum/extensionNamedAsEnumEntry.kt b/compiler/testData/diagnostics/tests/enum/extensionNamedAsEnumEntry.kt new file mode 100644 index 00000000000..12ad15c4377 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/extensionNamedAsEnumEntry.kt @@ -0,0 +1,8 @@ +enum class E { + entry +} + +val Int.entry = 42 +val Long.entry = 239 + +val e = E.entry diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java index ded8000aa22..bb649e37553 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java @@ -2572,6 +2572,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage doTest("compiler/testData/diagnostics/tests/enum/enumWithEmptyName.kt"); } + @TestMetadata("extensionNamedAsEnumEntry.kt") + public void testExtensionNamedAsEnumEntry() throws Exception { + doTest("compiler/testData/diagnostics/tests/enum/extensionNamedAsEnumEntry.kt"); + } + @TestMetadata("importEnumFromJava.kt") public void testImportEnumFromJava() throws Exception { doTest("compiler/testData/diagnostics/tests/enum/importEnumFromJava.kt");