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

fix(language-service): Lazily instantiate MetadataResolver #32631

Closed
wants to merge 1 commit into from

Conversation

@kyliau
Copy link
Member

commented Sep 12, 2019

The instantiation of the resolver also requires instantiation of the
StaticReflector, and the latter requires resolution of core Angular symbols.
Module resolution should not be done during instantiation to avoid potential
cyclic dependency between the plugin and the containing Project, so the
Singleton pattern is used to create the resolver.

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.io application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@kyliau kyliau requested a review from ayazhafiz Sep 12, 2019
@kyliau kyliau requested a review from angular/tools-language-service as a code owner Sep 12, 2019
@ngbot ngbot bot added this to the needsTriage milestone Sep 12, 2019
@googlebot googlebot added the cla: yes label Sep 12, 2019
@kyliau kyliau force-pushed the kyliau:lazy_instantiation branch 2 times, most recently from eea613c to f0cf40b Sep 12, 2019
The instantiation of the resolver also requires instantiation of the
StaticReflector, and the latter requires resolution of core Angular symbols.
Module resolution should not be done during instantiation to avoid potential
cyclic dependency between the plugin and the containing Project, so the
Singleton pattern is used to create the resolver.
@kyliau kyliau force-pushed the kyliau:lazy_instantiation branch from f0cf40b to 17267c0 Sep 12, 2019
@kara kara closed this in 1771d6f Sep 12, 2019
arnehoek added a commit to arnehoek/angular that referenced this pull request Sep 26, 2019
…2631)

The instantiation of the resolver also requires instantiation of the
StaticReflector, and the latter requires resolution of core Angular symbols.
Module resolution should not be done during instantiation to avoid potential
cyclic dependency between the plugin and the containing Project, so the
Singleton pattern is used to create the resolver.

PR Close angular#32631
@angular-automatic-lock-bot

This comment has been minimized.

Copy link

commented Oct 13, 2019

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Oct 13, 2019
@kyliau kyliau deleted the kyliau:lazy_instantiation branch Oct 16, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
3 participants
You can’t perform that action at this time.