From 091a8a6fd590c69b87e7244193c384d2d4f184db Mon Sep 17 00:00:00 2001 From: Alex Rickabaugh Date: Thu, 10 Jan 2019 15:20:51 -0800 Subject: [PATCH] fix(ivy): add missing @nocollapse annotation to __NG_ELEMENT_ID__ fields (#28050) __NG_ELEMENT_ID__ static fields are a part of how the Ivy node injector works. In order to survive closure minification correctly, they need to be annotated with @nocollapse. PR Close #28050 --- packages/core/src/change_detection/change_detector_ref.ts | 1 + packages/core/src/di/injector.ts | 1 + packages/core/src/linker/element_ref.ts | 1 + packages/core/src/linker/template_ref.ts | 1 + packages/core/src/linker/view_container_ref.ts | 1 + packages/core/src/render/api.ts | 1 + 6 files changed, 6 insertions(+) diff --git a/packages/core/src/change_detection/change_detector_ref.ts b/packages/core/src/change_detection/change_detector_ref.ts index 823c414a81..6a570af32a 100644 --- a/packages/core/src/change_detection/change_detector_ref.ts +++ b/packages/core/src/change_detection/change_detector_ref.ts @@ -108,6 +108,7 @@ export abstract class ChangeDetectorRef { abstract reattach(): void; /** @internal */ + /** @nocollapse */ static __NG_ELEMENT_ID__: () => ChangeDetectorRef = () => SWITCH_CHANGE_DETECTOR_REF_FACTORY(); } diff --git a/packages/core/src/di/injector.ts b/packages/core/src/di/injector.ts index 675d2fa78e..f15568fb25 100644 --- a/packages/core/src/di/injector.ts +++ b/packages/core/src/di/injector.ts @@ -110,6 +110,7 @@ export abstract class Injector { }); /** @internal */ + /** @nocollapse */ static __NG_ELEMENT_ID__: () => Injector = () => SWITCH_INJECTOR_FACTORY(); } diff --git a/packages/core/src/linker/element_ref.ts b/packages/core/src/linker/element_ref.ts index 4bdec33372..4d4e69ba43 100644 --- a/packages/core/src/linker/element_ref.ts +++ b/packages/core/src/linker/element_ref.ts @@ -51,6 +51,7 @@ export class ElementRef { constructor(nativeElement: T) { this.nativeElement = nativeElement; } /** @internal */ + /** @nocollapse */ static __NG_ELEMENT_ID__: () => ElementRef = () => SWITCH_ELEMENT_REF_FACTORY(ElementRef); } diff --git a/packages/core/src/linker/template_ref.ts b/packages/core/src/linker/template_ref.ts index 82d116750f..6c98dd704c 100644 --- a/packages/core/src/linker/template_ref.ts +++ b/packages/core/src/linker/template_ref.ts @@ -54,6 +54,7 @@ export abstract class TemplateRef { abstract createEmbeddedView(context: C): EmbeddedViewRef; /** @internal */ + /** @nocollapse */ static __NG_ELEMENT_ID__: () => TemplateRef| null = () => SWITCH_TEMPLATE_REF_FACTORY(TemplateRef, ElementRef) } diff --git a/packages/core/src/linker/view_container_ref.ts b/packages/core/src/linker/view_container_ref.ts index ae08347c55..c410b7bfaf 100644 --- a/packages/core/src/linker/view_container_ref.ts +++ b/packages/core/src/linker/view_container_ref.ts @@ -145,6 +145,7 @@ export abstract class ViewContainerRef { abstract detach(index?: number): ViewRef|null; /** @internal */ + /** @nocollapse */ static __NG_ELEMENT_ID__: () => ViewContainerRef = () => SWITCH_VIEW_CONTAINER_REF_FACTORY(ViewContainerRef, ElementRef) } diff --git a/packages/core/src/render/api.ts b/packages/core/src/render/api.ts index 061f4fcde7..7737518bc3 100644 --- a/packages/core/src/render/api.ts +++ b/packages/core/src/render/api.ts @@ -374,6 +374,7 @@ export abstract class Renderer2 { callback: (event: any) => boolean | void): () => void; /** @internal */ + /** @nocollapse */ static __NG_ELEMENT_ID__: () => Renderer2 = () => SWITCH_RENDERER2_FACTORY(); }