fix(ivy): NgOnChangesFeature no longer included in hello_world (#28187)

- Wraps the NgOnChangesFeature in a factory such that no side effects occur in the module root
- Adds comments to ngInherit property on feature definition interface to help guide others not to make the same mistake
- Updates compiler to generate the feature properly after the change to it being a factory
- Updates appropriate tests

PR Close #28187
This commit is contained in:
Ben Lesh
2019-01-22 11:17:13 -08:00
committed by Alex Rickabaugh
parent a95e81978b
commit 5430d2bc66
13 changed files with 41 additions and 89 deletions

View File

@ -2117,7 +2117,7 @@ describe('compiler compliance', () => {
selectors: [["lifecycle-comp"]],
factory: function LifecycleComp_Factory(t) { return new (t || LifecycleComp)(); },
inputs: {nameMin: ["name", "nameMin"]},
features: [$r3$.ɵNgOnChangesFeature],
features: [$r3$.ɵNgOnChangesFeature()],
consts: 0,
vars: 0,
template: function LifecycleComp_Template(rf, ctx) {},
@ -2239,7 +2239,7 @@ describe('compiler compliance', () => {
factory: function ForOfDirective_Factory(t) {
return new (t || ForOfDirective)($r3$.ɵdirectiveInject(ViewContainerRef), $r3$.ɵdirectiveInject(TemplateRef));
},
features: [$r3$.ɵNgOnChangesFeature],
features: [$r3$.ɵNgOnChangesFeature()],
inputs: {forOf: "forOf"}
});
`;
@ -2315,7 +2315,7 @@ describe('compiler compliance', () => {
factory: function ForOfDirective_Factory(t) {
return new (t || ForOfDirective)($r3$.ɵdirectiveInject(ViewContainerRef), $r3$.ɵdirectiveInject(TemplateRef));
},
features: [$r3$.ɵNgOnChangesFeature],
features: [$r3$.ɵNgOnChangesFeature()],
inputs: {forOf: "forOf"}
});
`;