Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport action test #5

Closed
wants to merge 4,990 commits into from
Closed

Backport action test #5

wants to merge 4,990 commits into from

Conversation

dibarbet
Copy link
Owner

@dibarbet dibarbet commented Jan 7, 2025

No description provided.

AlekseyTs and others added 30 commits December 19, 2024 20:11
* Update PublishData.json for telmet branch
An implementation of INotificationService is [now
required](https://github.com/dotnet/roslyn/pull/76510/files#diff-ee57f8ea8866dad6ed1842766c60de5011571b13c376c524a53301d46714a2f8R268)
for GetExtractInterfaceOptions. This change allows OmniSharp to provide
a no-op implementation.

Also removes the use of WaitAndGetResults from the OmniSharp extract
class and interface option services.
davidwengier and others added 28 commits January 7, 2025 07:50
For a full source build there should be no need for $(NetPrevious) to be included. Having it there creates complications in the build as we end up depending on projects that are not built during source build.
…76617)

Resolves microsoft/vscode-dotnettools#1686

When vscode is installed in (or an extension assembly is loaded from) a
path that contains a URI reserved character, the server crashes. This is
because VS-MEF (for compatibility with clr behavior) sets the code base
to a file URI with an unencoded path.

When parsing the URI, some reserved characters cause the path component
to be incorrectly split into query or fragment components if unescaped.
Then we get an invalid file path from the URI and cannot load the
extension dll.
* Simplify naming style parsing

* Simplify naming style preferences construction and make ordering deterministic if priorities are specified

* Cleanup

* Tests

* Fix
* Attempt to reduce allocations in the C# lexer ctor

The lexer ctor shows as about 0.5% of all allocations over the lifetime of the RoslynCodeAnalysisProcess in the csharp editing speedometer tests.

There was already the concept of the LexerCache which had some pooling usage in it. This PR moves a couple other members to it to allow for their pooling.
* Change SupportedPlatformData to use ImmutableArrays for it's data

I'm looking at a different change to completion and the usage of IEnumerable and List in SupportedPlatformData was tripping it up. It's easy enough to just have it use ImmutableArrays instead.

One concern would be additional allocations due to the IEnumerable -> ImmutableArray conversion. However, I don't think is an issue as the IEnumerable member is always passed in from a List except from AbstractSignatureHelpProvider. In that case, it's a constructed Linq Select/Concat expression, which is reused multiple times (and potentially enumerated multiple times in SupportedPlatformData). It's extremely likely that it's better to just realize that array once.
This accounted for a small amount (0.2%) of allocations during the typing scenario of the csharpediting speedometer test.
@dibarbet
Copy link
Owner Author

dibarbet commented Jan 7, 2025

/backport to release/dev17.13

@dibarbet dibarbet closed this Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.