Let `TargetEnvironment.targetPortBindings` map `TargetPortBinding` (added to `TargetEnvironmentRequest.targetPortBindings`) to `ResolvedPortBinding` structure containing the information about endpoints both on local and target sides with hostnames and ports, rather than the only port on the local machine. Most importantly, the client of Targets API now may find the local hostname right form resolved target environment using `targetEnvironment.targetPortBindings[targetPortBinding].localEndpoint.host`. The hostname differs from "localhost" for some targets, and the knowledge of this hostname prevents the situation where the client must find out the hostname for himself. F.e. each WSL distribution has its own network with the bridge interface to the host Windows machine with its IP found using `WSLDistribution.readHostIp()` method.
GitOrigin-RevId: ffd77c202ec038dab3c501e4bc08ea521d6809ac
In this commit we implement a logical implication of the fact
that StubIndex::get is deprecated, combined with the fact that
AbstractStubIndex::get is not deprecated but calls
StubIndex::get with the exact same arguments it received. The
absence of deprecation of AbstractStubIndex::get obfuscates
the fact that we want to phase out StubIndex::get calls.
Apart from deprecating said method, we add some convenience
methods in AbstractStubIndex inheritors that ensure a few things:
- The not-deprecated and preferred StubIndex::getElements is
called with appropriate arguments, including a properly
specialised requiredClass argument.
- Shorter syntax and DRY: only 3 arguments are required to pass
into the convenience method, whereas getElements requires 2
more. These 2 arguments are fields of the AbstractStubIndex
inheritor, so it makes little sense to get them from there
and pass them into StubIndex::getElements everywhere.
Wherever we can, these convenience methods are now used.
If you have access to JetBrains internal resources, also see:
https://jetbrains.team/p/ij/reviews/112930/timelinehttps://jetbrains.slack.com/archives/CMDBCUBGE/p1691509451975689
GitOrigin-RevId: c51ef4de44aa85841799640b1ece9d291208dc69
The Linchek tool mentions so-called events before `at` word, which indicate which method was called with which parameter.
The normal exception parser doesn't work here, because the method call matches the `(<digit>)` pattern, and it confuses the exception parser which thinks that it is the left-most appearance of a file with line. To avoid this, we specifically search for the `(<digit>)` after the "at" word.
GitOrigin-RevId: cbc7c2523fceaa30d819d1a6c982c99dd3c0c5fb
Searching for the leftmost pattern seems to be more logical from the start of the string, rather than from the end.
GitOrigin-RevId: 3e9330957d34930add0e827526c1dd202de6036f
This should help to estimate the number of people who could be interested
in "auto attach debugger" feature
GitOrigin-RevId: b7c7881aa6b3d2e255d58169f56ac66d9b4f5bcf
Changed the method `getKnownKeys()` to property `knownKeys` in EnvironmentKeyProvider interface and all of its usages in the project. This change is part of a larger refactoring to simplify the interface and make its usage more idiomatic in Kotlin.
GitOrigin-RevId: 351a4f1bc28a34d79c40abae06a35d42365fbf70
We want to have the same behaviour with JavaTestFrameworkRunnableState.createJavaParameters by Anna.Kozlova
GitOrigin-RevId: e91f92dfc0aa8c9a74fd12a8a90877d47224cdec