From 1e7ca2207870c106b53cb59b1588f752cbb6fe60 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Fri, 3 Aug 2018 12:20:27 -0700 Subject: [PATCH] refactor(ivy): make all directives public by default (#25291) To match the View Engine behavior. We should make this configurable so that the node injector is tree shaken when directives do not need to be published. PR Close #25291 --- .../src/ngcc/test/rendering/renderer_spec.ts | 2 +- .../compliance/r3_compiler_compliance_spec.ts | 69 +++++++++++++------ .../r3_view_compiler_listener_spec.ts | 9 +-- .../r3_view_compiler_styling_spec.ts | 22 +++--- .../r3_view_compiler_template_spec.ts | 1 - .../compiler/src/render3/r3_identifiers.ts | 2 + .../compiler/src/render3/view/compiler.ts | 3 + packages/core/src/render3/jit/environment.ts | 1 + .../hello_world/bundle.golden_symbols.json | 30 ++++++++ .../bundling/todo/bundle.golden_symbols.json | 15 ++++ 10 files changed, 119 insertions(+), 35 deletions(-) diff --git a/packages/compiler-cli/src/ngcc/test/rendering/renderer_spec.ts b/packages/compiler-cli/src/ngcc/test/rendering/renderer_spec.ts index 3daf39c882..982e2e7b49 100644 --- a/packages/compiler-cli/src/ngcc/test/rendering/renderer_spec.ts +++ b/packages/compiler-cli/src/ngcc/test/rendering/renderer_spec.ts @@ -123,7 +123,7 @@ describe('Renderer', () => { .toBe(analyzedFile.analyzedClasses[0]); expect(renderer.addDefinitions.calls.first().args[2]) .toEqual( - `A.ngDirectiveDef = ɵngcc0.ɵdefineDirective({ type: A, selectors: [["", "a", ""]], factory: function A_Factory() { return new A(); } });`); + `A.ngDirectiveDef = ɵngcc0.ɵdefineDirective({ type: A, selectors: [["", "a", ""]], factory: function A_Factory() { return new A(); }, features: [ɵngcc0.ɵPublicFeature] });`); }); it('should call removeDecorators with the source code, a map of class decorators that have been analyzed', diff --git a/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts b/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts index c338994e57..8748fbb583 100644 --- a/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts @@ -7,7 +7,7 @@ */ import {InitialStylingFlags} from '@angular/compiler/src/core'; -import {MockDirectory, setup} from '@angular/compiler/test/aot/test_util'; +import {setup} from '@angular/compiler/test/aot/test_util'; import {compile, expectEmit} from './mock_compile'; @@ -333,9 +333,11 @@ describe('compiler compliance', () => { const _c1 = ["background-color"]; … MyComponent.ngComponentDef = i0.ɵdefineComponent({type:MyComponent,selectors:[["my-component"]], - factory:function MyComponent_Factory(){ + factory: function MyComponent_Factory(){ return new MyComponent(); - },template:function MyComponent_Template(rf,ctx){ + }, + features: [$r3$.ɵPublicFeature], + template:function MyComponent_Template(rf,ctx){ if (rf & 1) { $r3$.ɵE(0, "div"); $r3$.ɵs(_c0, _c1); @@ -387,6 +389,7 @@ describe('compiler compliance', () => { type: ChildComponent, selectors: [["child"]], factory: function ChildComponent_Factory() { return new ChildComponent(); }, + features: [$r3$.ɵPublicFeature], template: function ChildComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵT(0, "child-view"); @@ -399,7 +402,8 @@ describe('compiler compliance', () => { SomeDirective.ngDirectiveDef = $r3$.ɵdefineDirective({ type: SomeDirective, selectors: [["", "some-directive", ""]], - factory: function SomeDirective_Factory() {return new SomeDirective(); } + factory: function SomeDirective_Factory() {return new SomeDirective(); }, + features: [$r3$.ɵPublicFeature] }); `; @@ -411,6 +415,7 @@ describe('compiler compliance', () => { type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "child", $c1$); @@ -453,7 +458,8 @@ describe('compiler compliance', () => { SomeDirective.ngDirectiveDef = $r3$.ɵdefineDirective({ type: SomeDirective, selectors: [["div", "some-directive", "", 8, "foo", 3, "title", "", 9, "baz"]], - factory: function SomeDirective_Factory() {return new SomeDirective(); } + factory: function SomeDirective_Factory() {return new SomeDirective(); }, + features: [$r3$.ɵPublicFeature] }); `; @@ -462,7 +468,8 @@ describe('compiler compliance', () => { OtherDirective.ngDirectiveDef = $r3$.ɵdefineDirective({ type: OtherDirective, selectors: [["", 5, "span", "title", "", 9, "baz"]], - factory: function OtherDirective_Factory() {return new OtherDirective(); } + factory: function OtherDirective_Factory() {return new OtherDirective(); }, + features: [$r3$.ɵPublicFeature] }); `; @@ -497,7 +504,8 @@ describe('compiler compliance', () => { factory: function HostBindingDir_Factory() { return new HostBindingDir(); }, hostBindings: function HostBindingDir_HostBindings(dirIndex, elIndex) { $r3$.ɵp(elIndex, "id", $r3$.ɵb($r3$.ɵd(dirIndex).dirId)); - } + }, + features: [$r3$.ɵPublicFeature] }); `; @@ -536,7 +544,8 @@ describe('compiler compliance', () => { IfDirective.ngDirectiveDef = $r3$.ɵdefineDirective({ type: IfDirective, selectors: [["", "if", ""]], - factory: function IfDirective_Factory() { return new IfDirective($r3$.ɵinjectTemplateRef()); } + factory: function IfDirective_Factory() { return new IfDirective($r3$.ɵinjectTemplateRef()); }, + features: [$r3$.ɵPublicFeature] });`; const MyComponentDefinition = ` const $c1$ = ["foo", ""]; @@ -558,6 +567,7 @@ describe('compiler compliance', () => { type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵE(0, "ul", null, $c1$); @@ -617,6 +627,7 @@ describe('compiler compliance', () => { type: MyApp, selectors: [["my-app"]], factory: function MyApp_Factory() { return new MyApp(); }, + features: [$r3$.ɵPublicFeature], template: function MyApp_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "my-comp"); @@ -696,6 +707,7 @@ describe('compiler compliance', () => { type: MyApp, selectors: [["my-app"]], factory: function MyApp_Factory() { return new MyApp(); }, + features: [$r3$.ɵPublicFeature], template: function MyApp_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "my-comp"); @@ -757,6 +769,7 @@ describe('compiler compliance', () => { type: MyApp, selectors: [["my-app"]], factory: function MyApp_Factory() { return new MyApp(); }, + features: [$r3$.ɵPublicFeature], template: function MyApp_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "object-comp"); @@ -822,6 +835,7 @@ describe('compiler compliance', () => { type: MyApp, selectors: [["my-app"]], factory: function MyApp_Factory() { return new MyApp(); }, + features: [$r3$.ɵPublicFeature], template: function MyApp_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "nested-comp"); @@ -879,6 +893,7 @@ describe('compiler compliance', () => { type: SimpleComponent, selectors: [["simple"]], factory: function SimpleComponent_Factory() { return new SimpleComponent(); }, + features: [$r3$.ɵPublicFeature], template: function SimpleComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵpD(); @@ -899,6 +914,7 @@ describe('compiler compliance', () => { type: ComplexComponent, selectors: [["complex"]], factory: function ComplexComponent_Factory() { return new ComplexComponent(); }, + features: [$r3$.ɵPublicFeature], template: function ComplexComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵpD($c1$, $c2$); @@ -964,6 +980,7 @@ describe('compiler compliance', () => { type: ViewQueryComponent, selectors: [["view-query-component"]], factory: function ViewQueryComponent_Factory() { return new ViewQueryComponent(); }, + features: [$r3$.ɵPublicFeature], viewQuery: function ViewQueryComponent_Query(rf, ctx) { if (rf & 1) { $r3$.ɵQ(0, SomeDirective, true); @@ -1028,17 +1045,18 @@ describe('compiler compliance', () => { selectors: [["content-query-component"]], factory: function ContentQueryComponent_Factory() { return new ContentQueryComponent(); - }, + }, contentQueries: function ContentQueryComponent_ContentQueries() { $r3$.ɵQr($r3$.ɵQ(null, SomeDirective, true)); $r3$.ɵQr($r3$.ɵQ(null, SomeDirective, false)); }, - contentQueriesRefresh: function ContentQueryComponent_ContentQueriesRefresh(dirIndex, queryStartIndex) { + contentQueriesRefresh: function ContentQueryComponent_ContentQueriesRefresh(dirIndex, queryStartIndex) { const instance = $r3$.ɵd(dirIndex); var $tmp$; ($r3$.ɵqR(($tmp$ = $r3$.ɵql(queryStartIndex))) && ($instance$.someDir = $tmp$.first)); ($r3$.ɵqR(($tmp$ = $r3$.ɵql((queryStartIndex + 1)))) && ($instance$.someDirList = $tmp$)); }, + features: [$r3$.ɵPublicFeature], template: function ContentQueryComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵpD(); @@ -1098,8 +1116,12 @@ describe('compiler compliance', () => { it('should render pipes', () => { const MyPipeDefinition = ` - MyPipe.ngPipeDef = $r3$.ɵdefinePipe( - {name: "myPipe", type: MyPipe, factory: function MyPipe_Factory() { return new MyPipe(); }, pure: false}); + MyPipe.ngPipeDef = $r3$.ɵdefinePipe({ + name: "myPipe", + type: MyPipe, + factory: function MyPipe_Factory() { return new MyPipe(); }, + pure: false + }); `; const MyPurePipeDefinition = ` @@ -1119,6 +1141,7 @@ describe('compiler compliance', () => { type: MyApp, selectors: [["my-app"]], factory: function MyApp_Factory() { return new MyApp(); }, + features: [$r3$.ɵPublicFeature], template: function MyApp_Template(rf, ctx) { if (rf & 1) { $r3$.ɵT(0); @@ -1169,6 +1192,7 @@ describe('compiler compliance', () => { type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "input", null, $c1$); @@ -1260,6 +1284,7 @@ describe('compiler compliance', () => { type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "div", null, $c1$); @@ -1310,7 +1335,7 @@ describe('compiler compliance', () => { const $c0$ = ["ngFor","","ngForOf",""]; const $c1$ = ["foo", ""]; const $c2$ = ["ngIf",""]; - + function MyComponent_div_span_Template_3(rf, ctx) { if (rf & 1) { $i0$.ɵE(0, "span"); @@ -1323,7 +1348,7 @@ describe('compiler compliance', () => { $i0$.ɵt(1, $i0$.ɵi2(" ", $foo$, " - ", $item$, " ")); } } - + function MyComponent_div_Template_0(rf, ctx) { if (rf & 1) { $i0$.ɵE(0, "div"); @@ -1336,7 +1361,7 @@ describe('compiler compliance', () => { $i0$.ɵp(3, "ngIf", $i0$.ɵb($app$.showing)); } } - + // ... template:function MyComponent_Template(rf, ctx){ if (rf & 1) { @@ -1403,7 +1428,7 @@ describe('compiler compliance', () => { selectors: [["lifecycle-comp"]], factory: function LifecycleComp_Factory() { return new LifecycleComp(); }, inputs: {nameMin: "name"}, - features: [$r3$.ɵNgOnChangesFeature], + features: [$r3$.ɵPublicFeature, $r3$.ɵNgOnChangesFeature], template: function LifecycleComp_Template(rf, ctx) {} });`; @@ -1412,6 +1437,7 @@ describe('compiler compliance', () => { type: SimpleLayout, selectors: [["simple-layout"]], factory: function SimpleLayout_Factory() { return new SimpleLayout(); }, + features: [$r3$.ɵPublicFeature], template: function SimpleLayout_Template(rf, ctx) { if (rf & 1) { $r3$.ɵEe(0, "lifecycle-comp"); @@ -1519,7 +1545,7 @@ describe('compiler compliance', () => { factory: function ForOfDirective_Factory() { return new ForOfDirective($r3$.ɵinjectViewContainerRef(), $r3$.ɵinjectTemplateRef()); }, - features: [$r3$.ɵNgOnChangesFeature], + features: [$r3$.ɵPublicFeature, $r3$.ɵNgOnChangesFeature], inputs: {forOf: "forOf"} }); `; @@ -1539,6 +1565,7 @@ describe('compiler compliance', () => { type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx){ if (rf & 1) { $r3$.ɵNS(); @@ -1592,7 +1619,7 @@ describe('compiler compliance', () => { factory: function ForOfDirective_Factory() { return new ForOfDirective($r3$.ɵinjectViewContainerRef(), $r3$.ɵinjectTemplateRef()); }, - features: [$r3$.ɵNgOnChangesFeature], + features: [$r3$.ɵPublicFeature, $r3$.ɵNgOnChangesFeature], inputs: {forOf: "forOf"} }); `; @@ -1615,6 +1642,7 @@ describe('compiler compliance', () => { type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵE(0, "ul"); @@ -1688,7 +1716,7 @@ describe('compiler compliance', () => { $r3$.ɵt(1, $r3$.ɵi2(" ", $item$.name, ": ", $info$.description, " ")); } } - + function MyComponent_li_Template_1(rf, ctx) { if (rf & 1) { $r3$.ɵE(0, "li"); @@ -1706,12 +1734,13 @@ describe('compiler compliance', () => { $r3$.ɵp(4, "forOf", $r3$.ɵb(IDENT.infos)); } } - + … MyComponent.ngComponentDef = $r3$.ɵdefineComponent({ type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { $r3$.ɵE(0, "ul"); diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts index 944f4c6c1e..6d2b4aaffb 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts @@ -71,7 +71,7 @@ describe('compiler compliance: listen()', () => {
- + \` }) export class MyComponent { @@ -87,7 +87,7 @@ describe('compiler compliance: listen()', () => { const template = ` const $c0$ = ["ngIf",""]; - + function MyComponent_div_Template_0(rf, ctx) { if (rf & 1) { const $s$ = $r3$.ɵgV(); @@ -132,7 +132,7 @@ describe('compiler compliance: listen()', () => { import {Component, NgModule} from '@angular/core'; @Component({ - selector: 'my-component', + selector: 'my-component', template: \` @@ -153,9 +153,10 @@ describe('compiler compliance: listen()', () => { type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { - $r3$.ɵE(0, "button"); + $r3$.ɵE(0, "button"); $r3$.ɵL("click", function MyComponent_Template_button_click_listener($event) { const $user$ = $r3$.ɵr(3); return ctx.onClick($user$.value); diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts index 516623def2..79230243c8 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts @@ -87,12 +87,13 @@ describe('compiler compliance: styling', () => { const template = ` const _c0 = ["opacity","width","height",${InitialStylingFlags.VALUES_MODE},"opacity","1"]; … - MyComponent.ngComponentDef = i0.ɵdefineComponent({ + MyComponent.ngComponentDef = $r3$.ɵdefineComponent({ type: MyComponent, selectors:[["my-component"]], factory:function MyComponent_Factory(){ return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, $ctx$) { if (rf & 1) { $r3$.ɵE(0, "div"); @@ -143,21 +144,22 @@ describe('compiler compliance: styling', () => { } } - MyComponent.ngComponentDef = i0.ɵdefineComponent({ + MyComponent.ngComponentDef = $r3$.ɵdefineComponent({ type: MyComponent, selectors: [["my-component"]], factory: function MyComponent_Factory() { return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, ctx) { if (rf & 1) { - i0.ɵE(0, "div"); - i0.ɵs(null, _c0, i0.ɵzss); - i0.ɵe(); + $r3$.ɵE(0, "div"); + $r3$.ɵs(null, _c0, $r3$.ɵzss); + $r3$.ɵe(); } if (rf & 2) { - i0.ɵsp(0, 0, ctx.myImage); - i0.ɵsa(0); + $r3$.ɵsp(0, 0, ctx.myImage); + $r3$.ɵsa(0); } } }); @@ -237,12 +239,13 @@ describe('compiler compliance: styling', () => { const template = ` const _c0 = ["grape","apple","orange",${InitialStylingFlags.VALUES_MODE},"grape",true]; … - MyComponent.ngComponentDef = i0.ɵdefineComponent({ + MyComponent.ngComponentDef = $r3$.ɵdefineComponent({ type: MyComponent, selectors:[["my-component"]], factory:function MyComponent_Factory(){ return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, $ctx$) { if (rf & 1) { $r3$.ɵE(0, "div"); @@ -290,12 +293,13 @@ describe('compiler compliance: styling', () => { const _c0 = ["foo",${InitialStylingFlags.VALUES_MODE},"foo",true]; const _c1 = ["width",${InitialStylingFlags.VALUES_MODE},"width","100px"]; … - MyComponent.ngComponentDef = i0.ɵdefineComponent({ + MyComponent.ngComponentDef = $r3$.ɵdefineComponent({ type: MyComponent, selectors:[["my-component"]], factory:function MyComponent_Factory(){ return new MyComponent(); }, + features: [$r3$.ɵPublicFeature], template: function MyComponent_Template(rf, $ctx$) { if (rf & 1) { $r3$.ɵE(0, "div"); diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts index c4901d238e..0d4c884a3e 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts @@ -319,7 +319,6 @@ describe('compiler compliance: template', () => { app: { 'spec.ts': ` import {Component, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-component', diff --git a/packages/compiler/src/render3/r3_identifiers.ts b/packages/compiler/src/render3/r3_identifiers.ts index 41ce176ac4..47ff7cb8a9 100644 --- a/packages/compiler/src/render3/r3_identifiers.ts +++ b/packages/compiler/src/render3/r3_identifiers.ts @@ -158,6 +158,8 @@ export class Identifiers { static InheritDefinitionFeature: o.ExternalReference = {name: 'ɵInheritDefinitionFeature', moduleName: CORE}; + static PublicFeature: o.ExternalReference = {name: 'ɵPublicFeature', moduleName: CORE}; + static listener: o.ExternalReference = {name: 'ɵL', moduleName: CORE}; // Reserve slots for pure functions diff --git a/packages/compiler/src/render3/view/compiler.ts b/packages/compiler/src/render3/view/compiler.ts index 0d58436fd4..84952e75d6 100644 --- a/packages/compiler/src/render3/view/compiler.ts +++ b/packages/compiler/src/render3/view/compiler.ts @@ -67,6 +67,9 @@ function baseDirectiveFields( // e.g. `features: [NgOnChangesFeature]` const features: o.Expression[] = []; + // TODO: add `PublicFeature` so that directives get registered to the DI - make this configurable + features.push(o.importExpr(R3.PublicFeature)); + if (meta.usesInheritance) { features.push(o.importExpr(R3.InheritDefinitionFeature)); } diff --git a/packages/core/src/render3/jit/environment.ts b/packages/core/src/render3/jit/environment.ts index c896c4e367..8e62112623 100644 --- a/packages/core/src/render3/jit/environment.ts +++ b/packages/core/src/render3/jit/environment.ts @@ -32,6 +32,7 @@ export const angularCoreEnv: {[name: string]: Function} = { 'ɵinjectTemplateRef': r3.injectTemplateRef, 'ɵinjectViewContainerRef': r3.injectViewContainerRef, 'ɵNgOnChangesFeature': r3.NgOnChangesFeature, + 'ɵPublicFeature': r3.PublicFeature, 'ɵInheritDefinitionFeature': r3.InheritDefinitionFeature, 'ɵa': r3.a, 'ɵb': r3.b, diff --git a/packages/core/test/bundling/hello_world/bundle.golden_symbols.json b/packages/core/test/bundling/hello_world/bundle.golden_symbols.json index 0188508d67..f0cc947b6e 100644 --- a/packages/core/test/bundling/hello_world/bundle.golden_symbols.json +++ b/packages/core/test/bundling/hello_world/bundle.golden_symbols.json @@ -5,6 +5,9 @@ { "name": "BINDING_INDEX" }, + { + "name": "BLOOM_MASK" + }, { "name": "CLEAN_PROMISE" }, @@ -44,6 +47,9 @@ { "name": "NEXT" }, + { + "name": "NG_ELEMENT_ID" + }, { "name": "NG_HOST_SYMBOL" }, @@ -53,6 +59,9 @@ { "name": "PARENT" }, + { + "name": "PublicFeature" + }, { "name": "QUERIES" }, @@ -95,6 +104,9 @@ { "name": "baseDirectiveCreate" }, + { + "name": "bloomAdd" + }, { "name": "callHooks" }, @@ -137,6 +149,12 @@ { "name": "detectChangesInternal" }, + { + "name": "diPublic" + }, + { + "name": "diPublicInInjector" + }, { "name": "domRendererFactory3" }, @@ -167,12 +185,21 @@ { "name": "getLViewChild" }, + { + "name": "getOrCreateNodeInjector" + }, + { + "name": "getOrCreateNodeInjectorForNode" + }, { "name": "getOrCreateTView" }, { "name": "getParentLNode" }, + { + "name": "getPreviousOrParentNode" + }, { "name": "getRenderFlags" }, @@ -206,6 +233,9 @@ { "name": "nativeInsertBefore" }, + { + "name": "nextNgElementId" + }, { "name": "readElementValue" }, diff --git a/packages/core/test/bundling/todo/bundle.golden_symbols.json b/packages/core/test/bundling/todo/bundle.golden_symbols.json index 6a5eec93f7..9621c4c701 100644 --- a/packages/core/test/bundling/todo/bundle.golden_symbols.json +++ b/packages/core/test/bundling/todo/bundle.golden_symbols.json @@ -119,6 +119,9 @@ { "name": "PARENT" }, + { + "name": "PublicFeature" + }, { "name": "QUERIES" }, @@ -332,6 +335,9 @@ { "name": "bindingUpdated" }, + { + "name": "bloomAdd" + }, { "name": "bloomFindPossibleInjector" }, @@ -434,6 +440,12 @@ { "name": "detectChangesInternal" }, + { + "name": "diPublic" + }, + { + "name": "diPublicInInjector" + }, { "name": "directiveCreate" }, @@ -740,6 +752,9 @@ { "name": "nextContext" }, + { + "name": "nextNgElementId" + }, { "name": "pointers" },