From 855e8ad9f6548012f04bda650e0032045824f96e Mon Sep 17 00:00:00 2001 From: Alex Rickabaugh Date: Tue, 19 Jun 2018 11:41:00 -0700 Subject: [PATCH] fix(ivy): use closure-safe field name for JIT of ngInjectableDef (#24632) PR Close #24632 --- packages/core/src/render3/jit/fields.ts | 1 + packages/core/src/render3/jit/injectable.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/src/render3/jit/fields.ts b/packages/core/src/render3/jit/fields.ts index 416c702a50..0937656784 100644 --- a/packages/core/src/render3/jit/fields.ts +++ b/packages/core/src/render3/jit/fields.ts @@ -12,6 +12,7 @@ const TARGET = {} as any; export const NG_COMPONENT_DEF = getClosureSafeProperty({ngComponentDef: TARGET}, TARGET); export const NG_DIRECTIVE_DEF = getClosureSafeProperty({ngDirectiveDef: TARGET}, TARGET); +export const NG_INJECTABLE_DEF = getClosureSafeProperty({ngInjectableDef: TARGET}, TARGET); export const NG_INJECTOR_DEF = getClosureSafeProperty({ngInjectorDef: TARGET}, TARGET); export const NG_PIPE_DEF = getClosureSafeProperty({ngPipeDef: TARGET}, TARGET); export const NG_MODULE_DEF = getClosureSafeProperty({ngModuleDef: TARGET}, TARGET); diff --git a/packages/core/src/render3/jit/injectable.ts b/packages/core/src/render3/jit/injectable.ts index 0b0b132421..4fc86832e1 100644 --- a/packages/core/src/render3/jit/injectable.ts +++ b/packages/core/src/render3/jit/injectable.ts @@ -14,6 +14,7 @@ import {Type} from '../../type'; import {getClosureSafeProperty} from '../../util/property'; import {angularCoreEnv} from './environment'; +import {NG_INJECTABLE_DEF} from './fields'; import {convertDependencies, reflectDependencies} from './util'; @@ -28,7 +29,7 @@ export function compileInjectable(type: Type, meta?: Injectable): void { } let def: any = null; - Object.defineProperty(type, 'ngInjectableDef', { + Object.defineProperty(type, NG_INJECTABLE_DEF, { get: () => { if (def === null) { // Check whether the injectable metadata includes a provider specification.