angular-cn/packages/compiler/src
Pete Bacon Darwin e526f74dfd refactor(compiler): create a new root `BindingScope` for each template (#36362)
Previously we had a singleton `ROOT_SCOPE` object, from
which all `BindingScope`s derived. But this caused ngcc to
produce non-deterministic output when running multiple workers
in parallel, since each process had its own `ROOT_SCOPE`.

In reality there is no need for `BindingScope` reference names
to be unique across an entire application (or in the case of ngcc
across all the libraries). Instead we just need uniqueness within
a template.

This commit changes the compiler to create a new root `BindingScope`
each time it compiles a component's template.

Resolves #35180

PR Close #36362
2020-04-09 09:44:56 -07:00
..
aot style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
compiler_util style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
css_parser style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
expression_parser style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
i18n style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
jit style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
ml_parser style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
output style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
render3 refactor(compiler): create a new root `BindingScope` for each template (#36362) 2020-04-09 09:44:56 -07:00
schema style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
template_parser style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
view_compiler style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
assertions.ts refactor(compiler): rename INTERPOLATION_BLACKLIST_REGEXPS (#29593) 2019-04-02 10:36:26 -07:00
ast_path.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
chars.ts feat(compiler): support tokenizing escaped strings (#28055) 2019-02-12 20:58:27 -08:00
compile_metadata.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
compile_reflector.ts feat(ivy): @NgModule -> ngInjectorDef compilation (#22458) 2018-03-16 12:57:11 -07:00
compiler.ts fix(ivy): move setClassMetadata calls into a pure iife (#33337) 2019-11-20 12:55:58 -08:00
compiler_facade_interface.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
config.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
constant_pool.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
core.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
directive_normalizer.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
directive_resolver.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
identifiers.ts refactor(ivy): generate ngFactoryDef for injectables (#32433) 2019-10-02 13:04:26 -07:00
injectable_compiler.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
injectable_compiler_2.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
jit_compiler_facade.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
lifecycle_reflector.ts feat(ivy): implement TestBed (#25369) 2018-08-14 11:58:47 -07:00
metadata_resolver.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
ng_module_compiler.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
ng_module_resolver.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
parse_util.ts fix(compiler-cli): pass real source spans where they are empty (#31805) 2020-04-06 09:28:27 -07:00
pipe_resolver.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
provider_analyzer.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
resource_loader.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
selector.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
shadow_css.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
style_compiler.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
style_url_resolver.ts fix(compiler): Don't strip CSS source maps 2017-08-15 16:30:09 -07:00
summary_resolver.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
url_resolver.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
util.ts style(compiler): reformat of codebase with new clang-format version (#36520) 2020-04-08 14:51:08 -07:00
version.ts style: remove empty comments (#23404) 2018-05-10 15:48:13 -07:00