angular/packages
crisbeto fcdada53f1 fix(ivy): constant object literals shared across element and component instances (#33705)
Currently if a consumer does something like the following, the object literal will be shared across the two elements and any instances of the component template. The same applies to array literals:

```
<div [someDirective]="{}"></div>
<div [someDirective]="{}"></div>
```

These changes make it so that we generate a pure function even if an object is constant so that each instance gets its own object.

Note that the original design for this fix included moving the pure function factories into the `consts` array. In the process of doing so I realized that pure function are also used inside of directive host bindings which means that we don't have access to the `consts`.

These changes also:
* Fix an issue that meant that the `pureFunction0` instruction could only be run during creation mode.
* Make the `getConstant` utility slightly more convenient to use. This isn't strictly required for these changes to work, but I had made it as a part of a larger refactor that I ended up reverting.

PR Close #33705
2019-11-13 13:36:41 -08:00
..
animations build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
bazel build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
benchpress feat: update rxjs peerDependencies minimum requirment to 6.5.3 (#32812) 2019-10-01 14:56:45 -07:00
common build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
compiler fix(ivy): constant object literals shared across element and component instances (#33705) 2019-11-13 13:36:41 -08:00
compiler-cli fix(ivy): constant object literals shared across element and component instances (#33705) 2019-11-13 13:36:41 -08:00
core fix(ivy): constant object literals shared across element and component instances (#33705) 2019-11-13 13:36:41 -08:00
docs refactor(core): remove deprecated Renderer (#33019) 2019-10-08 09:23:00 -07:00
elements build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
examples build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
forms build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
http build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
language-service build: set up all packages to publish via wombot proxy (#33747) 2019-11-13 11:34:33 -08:00
localize build: set up all packages to publish via wombot proxy (#33747) 2019-11-13 11:34:33 -08:00
platform-browser build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
platform-browser-dynamic build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
platform-server build: set up all packages to publish via wombot proxy (#33747) 2019-11-13 11:34:33 -08:00
platform-webworker build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
platform-webworker-dynamic build: set up all packages to publish via wombot proxy (#33747) 2019-11-13 11:34:33 -08:00
private/testing test: cleanup document "after" each test (#33712) 2019-11-11 14:01:04 -08:00
router build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
service-worker build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
upgrade build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
zone.js build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
BUILD.bazel build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
empty.ts
goog.d.ts fix(ivy): use goog.LOCALE for Closure Compiler to define default LOCALE_ID (#31519) 2019-07-16 13:02:10 -04:00
license-banner.txt build: bump year (#27880) 2019-01-11 11:15:59 -08:00
README.md Revert "docs: Remove unneeded file (#18106)" 2017-07-20 16:46:47 -05:00
system.d.ts
tsconfig-build-no-strict.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-build.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-test.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
tsconfig.json build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
types.d.ts build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

License: MIT