angular-cn/packages/compiler-cli/test/compliance
crisbeto 40d785f0a0 perf(ivy): avoid generating extra parameters for host property bindings (#31550)
Currently we reuse the same instruction both for regular property bindings and property bindings on the `host`. The only difference between the two is that when it's on the host we shouldn't support inputs. We have an optional parameter called `nativeOnly` which is used to differentiate the two, however since `nativeOnly` is preceeded by another optional parameter (`sanitizer`), we have to generate two extra parameters for each host property bindings every time (e.g. `property('someProp', 'someValue', null, true)`).

These changes add a new instruction called `hostProperty` which avoids the need for the two parameters by removing `nativeOnly` which is always set and it allows us to omit `sanitizer` when it isn't being used.

These changes also remove the `nativeOnly` parameter from the `updateSyntheticHostBinding` instruction, because it's only generated for host elements which means that we can assume that its value will always be `true`.

PR Close #31550
2019-07-16 13:01:42 -04:00
..
BUILD.bazel refactor(ivy): implement a virtual file-system layer in ngtsc + ngcc (#30921) 2019-06-25 16:25:24 -07:00
README.md build: use bazel version from node modules (#26691) 2018-10-30 16:19:13 -04:00
mock_compile.ts refactor(ivy): implement a virtual file-system layer in ngtsc + ngcc (#30921) 2019-06-25 16:25:24 -07:00
mock_compiler_spec.ts test(compiler-cli): compliance tests not always reporting test failure (#30597) 2019-05-22 16:22:52 -07:00
r3_compiler_compliance_spec.ts perf(ivy): avoid generating extra parameters for host property bindings (#31550) 2019-07-16 13:01:42 -04:00
r3_view_compiler_binding_spec.ts perf(ivy): avoid generating extra parameters for host property bindings (#31550) 2019-07-16 13:01:42 -04:00
r3_view_compiler_di_spec.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
r3_view_compiler_directives_spec.ts refactor(ivy): inherently call ɵɵselect(0) (#30830) 2019-06-07 08:48:31 -07:00
r3_view_compiler_i18n_spec.ts fix(ivy): handle ICUs with placeholders in case other nested ICUs are present (#31516) 2019-07-12 11:37:16 -04:00
r3_view_compiler_input_outputs_spec.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
r3_view_compiler_listener_spec.ts refactor(ivy): inherently call ɵɵselect(0) (#30830) 2019-06-07 08:48:31 -07:00
r3_view_compiler_providers_spec.ts test(compiler-cli): compliance tests not always reporting test failure (#30597) 2019-05-22 16:22:52 -07:00
r3_view_compiler_spec.ts perf(ivy): chain multiple property instructions (#31078) 2019-06-19 15:42:37 -07:00
r3_view_compiler_styling_spec.ts perf(ivy): avoid generating extra parameters for host property bindings (#31550) 2019-07-16 13:01:42 -04:00
r3_view_compiler_template_spec.ts test(compiler-cli): fix failing ivy template compliance test (#30983) 2019-06-11 15:17:01 -07:00

README.md

Tests in this directory should be run with:

yarn bazel test --define=compile=aot  packages/compiler-cli/test/compliance:compliance