Debugger: Fix evaluation of function declarations with expression bodies (KT-32704)

Before this commit, the substituted FunctionDescriptor didn't have a source element.
As a result, 'CodeFragmentParameterAnalyzer.isCodeFragmentDeclaration' failed to recognize such a descriptor as fragment-local, and it was erroneously captured.
This commit is contained in:
Yan Zhulanow
2019-10-10 21:30:10 +09:00
parent fa45122c6b
commit 87e0a2d98c
7 changed files with 36 additions and 5 deletions
@@ -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