angular/packages/compiler/src
Keen Yee Liau adb562bca6 fix(language-service): create StaticReflector once only (#32543)
The creation of StaticReflector in createMetadataResolver() is a very expensive operation because it involves numerous module resolutions.
To make matter worse, since the API of the Reflector does not provide the ability to invalidate its internal caches, it has to be destroyed and recreated on *every* program change.
This has a HUGE impact on performance.
This PR fixes this problem by carefully invalidating all StaticSymbols in a file that has changed, thereby reducing the overhead of recomputation on program change.

PR Close #32543
2019-10-03 15:02:03 -07:00
..
aot fix(language-service): create StaticReflector once only (#32543) 2019-10-03 15:02:03 -07:00
compiler_util fix(ivy): unable to bind to implicit receiver in embedded views (#30897) 2019-06-11 14:29:42 -07:00
css_parser build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
expression_parser perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
i18n feat(ivy): i18n - render legacy message ids in $localize if requested (#32937) 2019-10-03 12:12:55 -07:00
jit refactor(compiler): wrap the jit evaluation in an injectable class (#28055) 2019-02-12 20:58:27 -08:00
ml_parser fix(compiler): do not remove whitespace wrapping i18n expansions (#31962) 2019-08-09 12:03:50 -07:00
output refactor(ivy): i18n - move marker block serialization to helpers (#32867) 2019-10-02 14:52:00 -07:00
render3 feat(ivy): i18n - render legacy message ids in $localize if requested (#32937) 2019-10-03 12:12:55 -07:00
schema refactor(compiler): update docs (#29599) 2019-04-02 10:28:52 -07:00
template_parser perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
view_compiler feat(core): default to dynamic queries (#32720) 2019-10-03 12:26:21 -07:00
assertions.ts refactor(compiler): rename INTERPOLATION_BLACKLIST_REGEXPS (#29593) 2019-04-02 10:36:26 -07:00
ast_path.ts style: typos fixed - https://github.com/vlajos/misspell-fixer (#22975) 2018-03-27 14:51:53 -04:00
chars.ts feat(compiler): support tokenizing escaped strings (#28055) 2019-02-12 20:58:27 -08:00
compile_metadata.ts feat(core): allow users to define timing of ViewChild/ContentChild queries (#28810) 2019-02-19 12:56:25 -08:00
compile_reflector.ts feat(ivy): @NgModule -> ngInjectorDef compilation (#22458) 2018-03-16 12:57:11 -07:00
compiler.ts refactor(ivy): move directive, component and pipe factories to ngFactoryFn (#31953) 2019-08-27 13:57:00 -07:00
compiler_facade_interface.ts refactor(ivy): generate ngFactoryDef for injectables (#32433) 2019-10-02 13:04:26 -07:00
config.ts feat: add TypeScript 3 support (#25275) 2018-08-27 21:07:53 -04:00
constant_pool.ts refactor(ivy): update the compiler to emit $localize tags (#31609) 2019-08-30 12:53:26 -07:00
core.ts feat(core): make static query flag optional (#32986) 2019-10-03 14:02:47 -07:00
directive_normalizer.ts refactor(compiler): use options argument for parsers (#28055) 2019-02-12 20:58:27 -08:00
directive_resolver.ts feat(compiler): narrow types of expressions used in *ngIf (#20702) 2017-12-08 10:24:26 -08:00
identifiers.ts refactor(ivy): generate ngFactoryDef for injectables (#32433) 2019-10-02 13:04:26 -07:00
injectable_compiler.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
injectable_compiler_2.ts refactor(ivy): generate ngFactoryDef for injectables (#32433) 2019-10-02 13:04:26 -07:00
jit_compiler_facade.ts refactor(ivy): generate ngFactoryDef for injectables (#32433) 2019-10-02 13:04:26 -07:00
lifecycle_reflector.ts feat(ivy): implement TestBed (#25369) 2018-08-14 11:58:47 -07:00
metadata_resolver.ts feat(compiler): allow selector-less directives as base classes (#31379) 2019-08-14 12:03:05 -07:00
ng_module_compiler.ts feat(compiler): lower @NgModule ids if needed (#23031) 2018-03-28 09:15:16 -07:00
ng_module_resolver.ts refactor(compiler): split compiler and core (#18683) 2017-08-16 17:58:53 -05:00
parse_util.ts feat(ivy): record absolute position of template expressions (#31391) 2019-07-22 09:48:35 -07:00
pipe_resolver.ts refactor(compiler): split compiler and core (#18683) 2017-08-16 17:58:53 -05:00
provider_analyzer.ts feat: change @Injectable() to support tree-shakeable tokens (#22005) 2018-02-12 14:34:59 -08:00
resource_loader.ts refactor(compiler): allow sync AOT compilation (#16832). 2017-05-23 10:41:23 -06:00
selector.ts feat(ivy): add generics to the SelectorMatcher API (#26203) 2018-10-04 10:11:17 -07:00
shadow_css.ts fix(compiler): Don't strip /*# sourceURL ... */ (#16088) 2018-01-24 12:35:30 -08:00
style_compiler.ts feat(ivy): bridge component styles into the component renderer (#25255) 2018-08-23 16:51:15 -04:00
style_url_resolver.ts fix(compiler): Don't strip CSS source maps 2017-08-15 16:30:09 -07:00
summary_resolver.ts fix(compiler): allow to use flat modules and summaries 2017-09-28 14:20:20 -07:00
url_resolver.ts refactor(compiler): split compiler and core (#18683) 2017-08-16 17:58:53 -05:00
util.ts perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
version.ts style: remove empty comments (#23404) 2018-05-10 15:48:13 -07:00