diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java index 2842c4f1fcd..7729c06faa3 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java @@ -328,7 +328,12 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo if (originalSubstitutor.isEmpty()) { return this; } - return newCopyBuilder(originalSubstitutor).setOriginal(getOriginal()).setJustForTypeSubstitution(true).build(); + + return newCopyBuilder(originalSubstitutor) + .setOriginal(getOriginal()) + .setPreserveSourceElement() + .setJustForTypeSubstitution(true) + .build(); } @Nullable diff --git a/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/KotlinEvaluateExpressionTestGenerated.java b/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/KotlinEvaluateExpressionTestGenerated.java index 2563152104b..6e06bcd5417 100644 --- a/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/KotlinEvaluateExpressionTestGenerated.java +++ b/idea/jvm-debugger/jvm-debugger-test/test/org/jetbrains/kotlin/idea/debugger/test/KotlinEvaluateExpressionTestGenerated.java @@ -190,6 +190,11 @@ public class KotlinEvaluateExpressionTestGenerated extends AbstractKotlinEvaluat runTest("idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionDeclaration.kt"); } + @TestMetadata("functionWithBodyExpression.kt") + public void testFunctionWithBodyExpression() throws Exception { + runTest("idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.kt"); + } + @TestMetadata("genericCrossinlineArgument.kt") public void testGenericCrossinlineArgument() throws Exception { runTest("idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/genericCrossinlineArgument.kt"); diff --git a/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.kt b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.kt new file mode 100644 index 00000000000..106e6c466c1 --- /dev/null +++ b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.kt @@ -0,0 +1,6 @@ +package functionWithBodyExpression + +fun main() { + //Breakpoint! + val a = 5 +} \ No newline at end of file diff --git a/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.kt.fragment b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.kt.fragment new file mode 100644 index 00000000000..c5613960665 --- /dev/null +++ b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.kt.fragment @@ -0,0 +1,4 @@ +fun f2() = "f2" +f2() + +// RESULT: "f2": Ljava/lang/String; \ No newline at end of file diff --git a/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.out b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.out new file mode 100644 index 00000000000..238eecf02da --- /dev/null +++ b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/functionWithBodyExpression.out @@ -0,0 +1,11 @@ +LineBreakpoint created at functionWithBodyExpression.kt:5 +Run Java +Connected to the target VM +functionWithBodyExpression.kt:5 +Compile bytecode for fun f2() = "f2" +f2() + +// RESULT: "f2": Ljava/lang/String; +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/diagnosticMessage/overloadResolutionAmbiguityHtml1.html b/idea/testData/diagnosticMessage/overloadResolutionAmbiguityHtml1.html index 26ceb028937..7d6b6040089 100644 --- a/idea/testData/diagnosticMessage/overloadResolutionAmbiguityHtml1.html +++ b/idea/testData/diagnosticMessage/overloadResolutionAmbiguityHtml1.html @@ -2,8 +2,8 @@ Overload resolution ambiguity. All these functions match.