From 7014b67e518a1c1b8b05fedadfdc5dedfd071b2e Mon Sep 17 00:00:00 2001 From: Pawel Kozlowski Date: Wed, 10 Jul 2019 17:53:42 +0200 Subject: [PATCH] refactor(ivy): don't pass LView where only TView is needed (#31490) PR Close #31490 --- packages/core/src/render3/component.ts | 2 +- packages/core/src/render3/di.ts | 4 ++-- packages/core/src/render3/di_setup.ts | 6 +++--- packages/core/src/render3/instructions/shared.ts | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/core/src/render3/component.ts b/packages/core/src/render3/component.ts index 41e0007709..35922dfd9f 100644 --- a/packages/core/src/render3/component.ts +++ b/packages/core/src/render3/component.ts @@ -185,7 +185,7 @@ export function createRootComponentView( rootView[HEADER_OFFSET], tNode, rendererFactory, renderer, sanitizer); if (tView.firstTemplatePass) { - diPublicInInjector(getOrCreateNodeInjectorForNode(tNode, rootView), rootView, def.type); + diPublicInInjector(getOrCreateNodeInjectorForNode(tNode, rootView), tView, def.type); tNode.flags = TNodeFlags.isComponent; initNodeFlags(tNode, rootView.length, 1); queueComponentIndexForCheck(tNode); diff --git a/packages/core/src/render3/di.ts b/packages/core/src/render3/di.ts index 196c530f3b..4524988b82 100644 --- a/packages/core/src/render3/di.ts +++ b/packages/core/src/render3/di.ts @@ -230,8 +230,8 @@ export function getParentInjectorLocation(tNode: TNode, view: LView): RelativeIn * @param token The type or the injection token to be made public */ export function diPublicInInjector( - injectorIndex: number, view: LView, token: InjectionToken| Type): void { - bloomAdd(injectorIndex, view[TVIEW], token); + injectorIndex: number, tView: TView, token: InjectionToken| Type): void { + bloomAdd(injectorIndex, tView, token); } /** diff --git a/packages/core/src/render3/di_setup.ts b/packages/core/src/render3/di_setup.ts index 3dfb9bbb70..286f734e1b 100644 --- a/packages/core/src/render3/di_setup.ts +++ b/packages/core/src/render3/di_setup.ts @@ -72,6 +72,7 @@ function resolveProvider( } } else { const lView = getLView(); + const tView = lView[TVIEW]; let token: any = isTypeProvider(provider) ? provider : resolveForwardRef(provider.provide); let providerFactory: () => any = providerToFactory(provider); @@ -86,7 +87,6 @@ function resolveProvider( const ngOnDestroy = prototype.ngOnDestroy; if (ngOnDestroy) { - const tView = lView[TVIEW]; (tView.destroyHooks || (tView.destroyHooks = [])).push(tInjectables.length, ngOnDestroy); } } @@ -101,7 +101,7 @@ function resolveProvider( diPublicInInjector( getOrCreateNodeInjectorForNode( tNode as TElementNode | TContainerNode | TElementContainerNode, lView), - lView, token); + tView, token); tInjectables.push(token); tNode.directiveStart++; tNode.directiveEnd++; @@ -151,7 +151,7 @@ function resolveProvider( diPublicInInjector( getOrCreateNodeInjectorForNode( tNode as TElementNode | TContainerNode | TElementContainerNode, lView), - lView, token); + tView, token); const factory = multiFactory( isViewProvider ? multiViewProvidersFactoryResolver : multiProvidersFactoryResolver, lInjectablesBlueprint.length, isViewProvider, isComponent, providerFactory); diff --git a/packages/core/src/render3/instructions/shared.ts b/packages/core/src/render3/instructions/shared.ts index e94047462c..df3264dd62 100644 --- a/packages/core/src/render3/instructions/shared.ts +++ b/packages/core/src/render3/instructions/shared.ts @@ -1208,7 +1208,7 @@ function findDirectiveMatches(tView: TView, viewData: LView, tNode: TNode): Dire getOrCreateNodeInjectorForNode( getPreviousOrParentTNode() as TElementNode | TContainerNode | TElementContainerNode, viewData), - viewData, def.type); + tView, def.type); if (isComponentDef(def)) { if (tNode.flags & TNodeFlags.isComponent) throwMultipleComponentError(tNode);