diff --git a/packages/core/src/render3/di.ts b/packages/core/src/render3/di.ts index ee773a21a4..99cfaad77b 100644 --- a/packages/core/src/render3/di.ts +++ b/packages/core/src/render3/di.ts @@ -591,10 +591,7 @@ export const QUERY_READ_FROM_NODE = }) as any as QueryReadType); /** A ref to a node's native element. */ -class ElementRef implements viewEngine_ElementRef { - readonly nativeElement: any; - constructor(nativeElement: any) { this.nativeElement = nativeElement; } -} +class ElementRef extends viewEngine_ElementRef {} /** * Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef @@ -660,12 +657,14 @@ export class NodeInjector implements Injector { * A ref to a container that enables adding and removing views from that container * imperatively. */ -class ViewContainerRef implements viewEngine_ViewContainerRef { +class ViewContainerRef extends viewEngine_ViewContainerRef { private _viewRefs: viewEngine_ViewRef[] = []; constructor( private _lContainerNode: LContainerNode, - private _hostNode: LElementNode|LElementContainerNode|LContainerNode) {} + private _hostNode: LElementNode|LElementContainerNode|LContainerNode) { + super(); + } get element(): ElementRef { const injector = getOrCreateNodeInjectorForNode(this._hostNode); @@ -820,10 +819,12 @@ export function getInheritedFactory(type: Type): (type: Type) => T { } } -class TemplateRef implements viewEngine_TemplateRef { +class TemplateRef extends viewEngine_TemplateRef { constructor( private _declarationParentView: LViewData, readonly elementRef: viewEngine_ElementRef, - private _tView: TView, private _renderer: Renderer3, private _queries: LQueries|null) {} + private _tView: TView, private _renderer: Renderer3, private _queries: LQueries|null) { + super(); + } createEmbeddedView(context: T, containerNode?: LContainerNode, index?: number): viewEngine_EmbeddedViewRef { diff --git a/packages/core/test/bundling/todo/bundle.golden_symbols.json b/packages/core/test/bundling/todo/bundle.golden_symbols.json index c7df91d937..8b1d82038d 100644 --- a/packages/core/test/bundling/todo/bundle.golden_symbols.json +++ b/packages/core/test/bundling/todo/bundle.golden_symbols.json @@ -209,6 +209,9 @@ { "name": "_THROW_IF_NOT_FOUND" }, + { + "name": "__extends" + }, { "name": "__read" }, @@ -515,6 +518,9 @@ { "name": "executePipeOnDestroys" }, + { + "name": "extendStatics" + }, { "name": "extractDirectiveDef" }, diff --git a/packages/core/test/render3/di_spec.ts b/packages/core/test/render3/di_spec.ts index c266743e03..06a2b7abb0 100644 --- a/packages/core/test/render3/di_spec.ts +++ b/packages/core/test/render3/di_spec.ts @@ -804,7 +804,7 @@ describe('di', () => { class DirectiveSameInstance { value: boolean; constructor(elementRef: ElementRef, directive: Directive) { - this.value = elementRef === directive.elementRef; + this.value = (elementRef === directive.elementRef) && elementRef instanceof ElementRef; } static ngDirectiveDef = defineDirective({ type: DirectiveSameInstance,