Skip to content

Fixed stackoverflow if you tried to resolve the LanguageServer while it was being constructed #338

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

Merged
merged 1 commit into from
Aug 28, 2020

Conversation

david-driscoll
Copy link
Member

The following types will not be resolvable during construction by IJsonRpcHandlers that are added at initialization time.

  • IJsonRpcServer / JsonRpcServer
  • ILanguageServer / LanguageServer
  • ILanguageClient / LanguageClient
  • IDebugAdapterServer / DebugAdapterServer
  • IDebugAdapterClient / DebugAdapterClient

In the event you need to access those interfaces, you can use the following Facade interfaces, that are resolvable anytime.

  • IJsonRpcServerFacade
  • ILanguageServerFacade
  • ILanguageClientFacade
  • IDebugAdapterServerFacade
  • IDebugAdapterClientFacade

NOTE: This is a breaking change from the versions before that did use DryIoc internally, however the facade interface gives a smooth path forward.

… to resolve the LanguageServer while it was being constructed
@david-driscoll david-driscoll added the breaking change This breaks existing behavior label Aug 28, 2020
@github-actions github-actions bot added this to the v0.18.0 milestone Aug 28, 2020
@codecov
Copy link

codecov bot commented Aug 28, 2020

Codecov Report

Merging #338 into master will increase coverage by 5.18%.
The diff coverage is 79.39%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #338      +/-   ##
==========================================
+ Coverage   70.11%   75.30%   +5.18%     
==========================================
  Files         421      427       +6     
  Lines       12269    12434     +165     
  Branches     1127     1119       -8     
==========================================
+ Hits         8603     9363     +760     
+ Misses       3249     3071     -178     
+ Partials      417        0     -417     
Impacted Files Coverage Δ
src/Dap.Shared/DebugAdapterHandlerCollection.cs 85.60% <25.00%> (+5.45%) ⬆️
src/Shared/SharedHandlerCollection.cs 79.63% <25.00%> (+5.62%) ⬆️
src/JsonRpc/DefaultJsonRpcServerFacade.cs 31.57% <31.57%> (ø)
src/Dap.Protocol/IDebugAdapterProtocolProxy.cs 37.50% <37.50%> (ø)
src/JsonRpc/HandlerCollection.cs 72.00% <50.00%> (+8.36%) ⬆️
src/Shared/InterimLanguageProtocolRegistry.cs 77.77% <66.66%> (ø)
src/Client/DefaultLanguageClientFacade.cs 74.19% <74.19%> (ø)
src/JsonRpc/JsonRpcHandlerCollectionExtensions.cs 89.28% <75.00%> (+7.14%) ⬆️
src/Server/DefaultLanguageServerFacade.cs 79.41% <79.41%> (ø)
src/Server/LanguageServerHelpers.cs 88.37% <88.37%> (ø)
... and 201 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d4efd49...346f8de. Read the comment docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change This breaks existing behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant