This allows removing a hack in the MethodSignatureMapper.
When introducing non-getter methods that dispatch to a getter
we have to be careful to use the right name.
DeepCopyIrTreeWithSymbols should create the link between new
properties and their new getter/setter.
The following code was treated incorrectly:
```
function (_) {
function foo() {
try {} catch (_) {}
try {} catch (_) {}
}
// _ is linked to the catch parameter here
}
```
The K/N compiler changed the way in which inline functions are shown
in stacktraces. When an exception is thrown from an inline function,
the stacktrace refers to a line in the body of the inline function
while in 1.3.7x it referred to a line when the inline function is called.
This patch gets rid of inline functions in the corresponding test
to make it independent on such changes in the stacktrace format.
By default, a unique name for a klibrary equals to a klib
file name. In the MPP plugin, the file name equals to a
Gradle project name. But the project name is not unique
enough. E.g. there is a situation when there are several projects
with the same simple name inside a single Gradle build. If
one of these projects depends on another, the compiler
will report a false cyclic dependency error.
This patch partially fixes this problem by specifying a custom
unique name for produced klibs based on project group and name.
We still can get a unique name clash in a case of equal groups
and project names. But in this case the cyclic dependency error
looks much more logical for user.
Also this patch specifies short names for native klibs to avoid
long declaration prefixes in framework headers.
Issue #KT-36721 Fixed
Issue #KT-38220 Fixed
Currently DescriptorByIdSignatureFinder performs lookup of descriptor
not only in the given module but also in its dependencies.
This behaviour is incorrect if we have some kind of
relation (e.g. mapping) between moduleDescriptor and found descriptor.
Thus, we add a handle to control search scope.
for DebugMetadata and CoroutinePanel, some corner cases fixed, test
cases added.
Added:
- external maven dependencies in test scenarios
- comparing stack traces + variables on breakpoint