@angular/language-service 4.4.3 → 4.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v4.4.3
2
+ * @license Angular v4.4.7
3
3
  * (c) 2010-2017 Google, Inc. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -2033,7 +2033,7 @@ function share() {
2033
2033
  var share_2 = share;
2034
2034
 
2035
2035
  /**
2036
- * @license Angular v4.4.3
2036
+ * @license Angular v4.4.7
2037
2037
  * (c) 2010-2017 Google, Inc. https://angular.io/
2038
2038
  * License: MIT
2039
2039
  */
@@ -2825,7 +2825,7 @@ var Version = (function () {
2825
2825
  /**
2826
2826
  * \@stable
2827
2827
  */
2828
- var VERSION$2 = new Version('4.4.3');
2828
+ var VERSION$2 = new Version('4.4.7');
2829
2829
  /**
2830
2830
  * @license
2831
2831
  * Copyright Google Inc. All Rights Reserved.
@@ -8245,7 +8245,6 @@ var EventListener = (function () {
8245
8245
  this.name = name;
8246
8246
  this.callback = callback;
8247
8247
  }
8248
-
8249
8248
  return EventListener;
8250
8249
  }());
8251
8250
  /**
@@ -10602,7 +10601,7 @@ function checkAndUpdateBinding(view, def, bindingIdx, value) {
10602
10601
  function checkBindingNoChanges(view, def, bindingIdx, value) {
10603
10602
  var /** @type {?} */ oldValue = view.oldValues[def.bindingIndex + bindingIdx];
10604
10603
  if ((view.state & 1 /* BeforeFirstCheck */) || !devModeEqual(oldValue, value)) {
10605
- throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, def.index), oldValue, value, (view.state & 1 /* BeforeFirstCheck */) !== 0);
10604
+ throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, def.nodeIndex), oldValue, value, (view.state & 1 /* BeforeFirstCheck */) !== 0);
10606
10605
  }
10607
10606
  }
10608
10607
  /**
@@ -10650,7 +10649,7 @@ function dispatchEvent(view, nodeIndex, eventName, event) {
10650
10649
  function declaredViewContainer(view) {
10651
10650
  if (view.parent) {
10652
10651
  var /** @type {?} */ parentView = view.parent;
10653
- return asElementData(parentView, /** @type {?} */ ((view.parentNodeDef)).index);
10652
+ return asElementData(parentView, /** @type {?} */ ((view.parentNodeDef)).nodeIndex);
10654
10653
  }
10655
10654
  return null;
10656
10655
  }
@@ -10678,9 +10677,9 @@ function viewParentEl(view) {
10678
10677
  function renderNode(view, def) {
10679
10678
  switch (def.flags & 201347067 /* Types */) {
10680
10679
  case 1 /* TypeElement */:
10681
- return asElementData(view, def.index).renderElement;
10680
+ return asElementData(view, def.nodeIndex).renderElement;
10682
10681
  case 2 /* TypeText */:
10683
- return asTextData(view, def.index).renderText;
10682
+ return asTextData(view, def.nodeIndex).renderText;
10684
10683
  }
10685
10684
  }
10686
10685
  /**
@@ -10767,7 +10766,7 @@ function getParentRenderElement(view, renderHost, def) {
10767
10766
  ViewEncapsulation.Native)) {
10768
10767
  // only children of non components, or children of components with native encapsulation should
10769
10768
  // be attached.
10770
- return asElementData(view, /** @type {?} */ ((def.renderParent)).index).renderElement;
10769
+ return asElementData(view, /** @type {?} */ ((def.renderParent)).nodeIndex).renderElement;
10771
10770
  }
10772
10771
  }
10773
10772
  else {
@@ -10849,8 +10848,8 @@ function visitProjectedRenderNodes(view, ngContentIndex, action, parentNode, nex
10849
10848
  }
10850
10849
  var /** @type {?} */ hostView = ((compView)).parent;
10851
10850
  var /** @type {?} */ hostElDef = viewParentEl(/** @type {?} */ ((compView)));
10852
- var /** @type {?} */ startIndex = ((hostElDef)).index + 1;
10853
- var /** @type {?} */ endIndex = ((hostElDef)).index + ((hostElDef)).childCount;
10851
+ var /** @type {?} */ startIndex = ((hostElDef)).nodeIndex + 1;
10852
+ var /** @type {?} */ endIndex = ((hostElDef)).nodeIndex + ((hostElDef)).childCount;
10854
10853
  for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) {
10855
10854
  var /** @type {?} */ nodeDef = ((hostView)).def.nodes[i];
10856
10855
  if (nodeDef.ngContentIndex === ngContentIndex) {
@@ -10891,7 +10890,7 @@ function visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target)
10891
10890
  execRenderNodeAction(view, rn, action, parentNode, nextSibling, target);
10892
10891
  }
10893
10892
  if (nodeDef.bindingFlags & (32 /* SyntheticHostProperty */)) {
10894
- var /** @type {?} */ compView = asElementData(view, nodeDef.index).componentView;
10893
+ var /** @type {?} */ compView = asElementData(view, nodeDef.nodeIndex).componentView;
10895
10894
  execRenderNodeAction(compView, rn, action, parentNode, nextSibling, target);
10896
10895
  }
10897
10896
  }
@@ -10899,13 +10898,13 @@ function visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target)
10899
10898
  execRenderNodeAction(view, rn, action, parentNode, nextSibling, target);
10900
10899
  }
10901
10900
  if (nodeDef.flags & 16777216 /* EmbeddedViews */) {
10902
- var /** @type {?} */ embeddedViews = ((asElementData(view, nodeDef.index).viewContainer))._embeddedViews;
10901
+ var /** @type {?} */ embeddedViews = ((asElementData(view, nodeDef.nodeIndex).viewContainer))._embeddedViews;
10903
10902
  for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) {
10904
10903
  visitRootRenderNodes(embeddedViews[k], action, parentNode, nextSibling, target);
10905
10904
  }
10906
10905
  }
10907
10906
  if (nodeDef.flags & 1 /* TypeElement */ && !((nodeDef.element)).name) {
10908
- visitSiblingRenderNodes(view, action, nodeDef.index + 1, nodeDef.index + nodeDef.childCount, parentNode, nextSibling, target);
10907
+ visitSiblingRenderNodes(view, action, nodeDef.nodeIndex + 1, nodeDef.nodeIndex + nodeDef.childCount, parentNode, nextSibling, target);
10909
10908
  }
10910
10909
  }
10911
10910
  }
@@ -11058,13 +11057,14 @@ function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleE
11058
11057
  var /** @type {?} */ template = templateFactory ? resolveDefinition(templateFactory) : null;
11059
11058
  return {
11060
11059
  // will bet set by the view definition
11061
- index: -1,
11060
+ nodeIndex: -1,
11062
11061
  parent: null,
11063
11062
  renderParent: null,
11064
11063
  bindingIndex: -1,
11065
11064
  outputIndex: -1,
11066
11065
  // regular values
11067
11066
  flags: flags,
11067
+ checkIndex: -1,
11068
11068
  childFlags: 0,
11069
11069
  directChildFlags: 0,
11070
11070
  childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references, ngContentIndex: ngContentIndex, childCount: childCount,
@@ -11089,6 +11089,7 @@ function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleE
11089
11089
  };
11090
11090
  }
11091
11091
  /**
11092
+ * @param {?} checkIndex
11092
11093
  * @param {?} flags
11093
11094
  * @param {?} matchedQueriesDsl
11094
11095
  * @param {?} ngContentIndex
@@ -11102,7 +11103,7 @@ function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleE
11102
11103
  * @param {?=} componentRendererType
11103
11104
  * @return {?}
11104
11105
  */
11105
- function elementDef(flags, matchedQueriesDsl, ngContentIndex, childCount, namespaceAndName, fixedAttrs, bindings, outputs, handleEvent, componentView, componentRendererType) {
11106
+ function elementDef(checkIndex, flags, matchedQueriesDsl, ngContentIndex, childCount, namespaceAndName, fixedAttrs, bindings, outputs, handleEvent, componentView, componentRendererType) {
11106
11107
  if (fixedAttrs === void 0) { fixedAttrs = []; }
11107
11108
  if (!handleEvent) {
11108
11109
  handleEvent = NOOP;
@@ -11155,12 +11156,13 @@ function elementDef(flags, matchedQueriesDsl, ngContentIndex, childCount, namesp
11155
11156
  flags |= 1 /* TypeElement */;
11156
11157
  return {
11157
11158
  // will bet set by the view definition
11158
- index: -1,
11159
+ nodeIndex: -1,
11159
11160
  parent: null,
11160
11161
  renderParent: null,
11161
11162
  bindingIndex: -1,
11162
11163
  outputIndex: -1,
11163
11164
  // regular values
11165
+ checkIndex: checkIndex,
11164
11166
  flags: flags,
11165
11167
  childFlags: 0,
11166
11168
  directChildFlags: 0,
@@ -11232,7 +11234,7 @@ function createElement(view, renderHost, def) {
11232
11234
  function listenToElementOutputs(view, compView, def, el) {
11233
11235
  for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) {
11234
11236
  var /** @type {?} */ output = def.outputs[i];
11235
- var /** @type {?} */ handleEventClosure = renderEventHandlerClosure(view, def.index, elementEventFullName(output.target, output.eventName));
11237
+ var /** @type {?} */ handleEventClosure = renderEventHandlerClosure(view, def.nodeIndex, elementEventFullName(output.target, output.eventName));
11236
11238
  var /** @type {?} */ listenTarget = output.target;
11237
11239
  var /** @type {?} */ listenerView = view;
11238
11240
  if (output.target === 'component') {
@@ -11326,7 +11328,7 @@ function checkAndUpdateElementValue(view, def, bindingIdx, value) {
11326
11328
  return false;
11327
11329
  }
11328
11330
  var /** @type {?} */ binding = def.bindings[bindingIdx];
11329
- var /** @type {?} */ elData = asElementData(view, def.index);
11331
+ var /** @type {?} */ elData = asElementData(view, def.nodeIndex);
11330
11332
  var /** @type {?} */ renderNode$$1 = elData.renderElement;
11331
11333
  var /** @type {?} */ name = ((binding.name));
11332
11334
  switch (binding.flags & 15 /* Types */) {
@@ -11434,7 +11436,7 @@ function setElementProperty(view, binding, renderNode$$1, name, value) {
11434
11436
  * Use of this source code is governed by an MIT-style license that can be
11435
11437
  * found in the LICENSE file at https://angular.io/license
11436
11438
  */
11437
- var NOT_CREATED$1 = new Object();
11439
+ var UNDEFINED_VALUE = new Object();
11438
11440
  var InjectorRefTokenKey$1 = tokenKey(Injector);
11439
11441
  var NgModuleRefTokenKey = tokenKey(NgModuleRef);
11440
11442
  /**
@@ -11479,8 +11481,9 @@ function initNgModule(data) {
11479
11481
  var /** @type {?} */ providers = data._providers = new Array(def.providers.length);
11480
11482
  for (var /** @type {?} */ i = 0; i < def.providers.length; i++) {
11481
11483
  var /** @type {?} */ provDef = def.providers[i];
11482
- providers[i] = provDef.flags & 4096 /* LazyProvider */ ? NOT_CREATED$1 :
11483
- _createProviderInstance$1(data, provDef);
11484
+ if (!(provDef.flags & 4096 /* LazyProvider */)) {
11485
+ providers[i] = _createProviderInstance$1(data, provDef);
11486
+ }
11484
11487
  }
11485
11488
  }
11486
11489
  /**
@@ -11509,11 +11512,11 @@ function resolveNgModuleDep(data, depDef, notFoundValue) {
11509
11512
  var /** @type {?} */ providerDef = data._def.providersByKey[tokenKey$$1];
11510
11513
  if (providerDef) {
11511
11514
  var /** @type {?} */ providerInstance = data._providers[providerDef.index];
11512
- if (providerInstance === NOT_CREATED$1) {
11515
+ if (providerInstance === undefined) {
11513
11516
  providerInstance = data._providers[providerDef.index] =
11514
11517
  _createProviderInstance$1(data, providerDef);
11515
11518
  }
11516
- return providerInstance;
11519
+ return providerInstance === UNDEFINED_VALUE ? undefined : providerInstance;
11517
11520
  }
11518
11521
  return data._parent.get(depDef.token, notFoundValue);
11519
11522
  }
@@ -11538,7 +11541,7 @@ function _createProviderInstance$1(ngModule, providerDef) {
11538
11541
  injectable = providerDef.value;
11539
11542
  break;
11540
11543
  }
11541
- return injectable;
11544
+ return injectable === undefined ? UNDEFINED_VALUE : injectable;
11542
11545
  }
11543
11546
  /**
11544
11547
  * @param {?} ngModule
@@ -11548,29 +11551,22 @@ function _createProviderInstance$1(ngModule, providerDef) {
11548
11551
  */
11549
11552
  function _createClass(ngModule, ctor, deps) {
11550
11553
  var /** @type {?} */ len = deps.length;
11551
- var /** @type {?} */ injectable;
11552
11554
  switch (len) {
11553
11555
  case 0:
11554
- injectable = new ctor();
11555
- break;
11556
+ return new ctor();
11556
11557
  case 1:
11557
- injectable = new ctor(resolveNgModuleDep(ngModule, deps[0]));
11558
- break;
11558
+ return new ctor(resolveNgModuleDep(ngModule, deps[0]));
11559
11559
  case 2:
11560
- injectable =
11561
- new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
11562
- break;
11560
+ return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
11563
11561
  case 3:
11564
- injectable = new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));
11565
- break;
11562
+ return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));
11566
11563
  default:
11567
11564
  var /** @type {?} */ depValues = new Array(len);
11568
11565
  for (var /** @type {?} */ i = 0; i < len; i++) {
11569
11566
  depValues[i] = resolveNgModuleDep(ngModule, deps[i]);
11570
11567
  }
11571
- injectable = new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();
11568
+ return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();
11572
11569
  }
11573
- return injectable;
11574
11570
  }
11575
11571
  /**
11576
11572
  * @param {?} ngModule
@@ -11580,29 +11576,22 @@ function _createClass(ngModule, ctor, deps) {
11580
11576
  */
11581
11577
  function _callFactory(ngModule, factory, deps) {
11582
11578
  var /** @type {?} */ len = deps.length;
11583
- var /** @type {?} */ injectable;
11584
11579
  switch (len) {
11585
11580
  case 0:
11586
- injectable = factory();
11587
- break;
11581
+ return factory();
11588
11582
  case 1:
11589
- injectable = factory(resolveNgModuleDep(ngModule, deps[0]));
11590
- break;
11583
+ return factory(resolveNgModuleDep(ngModule, deps[0]));
11591
11584
  case 2:
11592
- injectable =
11593
- factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
11594
- break;
11585
+ return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
11595
11586
  case 3:
11596
- injectable = factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));
11597
- break;
11587
+ return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));
11598
11588
  default:
11599
11589
  var /** @type {?} */ depValues = Array(len);
11600
11590
  for (var /** @type {?} */ i = 0; i < len; i++) {
11601
11591
  depValues[i] = resolveNgModuleDep(ngModule, deps[i]);
11602
11592
  }
11603
- injectable = factory.apply(void 0, depValues);
11593
+ return factory.apply(void 0, depValues);
11604
11594
  }
11605
- return injectable;
11606
11595
  }
11607
11596
  /**
11608
11597
  * @param {?} ngModule
@@ -11615,7 +11604,7 @@ function callNgModuleLifecycle(ngModule, lifecycles) {
11615
11604
  var /** @type {?} */ provDef = def.providers[i];
11616
11605
  if (provDef.flags & 131072 /* OnDestroy */) {
11617
11606
  var /** @type {?} */ instance = ngModule._providers[i];
11618
- if (instance && instance !== NOT_CREATED$1) {
11607
+ if (instance && instance !== UNDEFINED_VALUE) {
11619
11608
  instance.ngOnDestroy();
11620
11609
  }
11621
11610
  }
@@ -11897,7 +11886,7 @@ var ComponentFactory_ = (function (_super) {
11897
11886
  throw new Error('ngModule should be provided');
11898
11887
  }
11899
11888
  var /** @type {?} */ viewDef = resolveDefinition(this.viewDefFactory);
11900
- var /** @type {?} */ componentNodeIndex = ((((viewDef.nodes[0].element)).componentProvider)).index;
11889
+ var /** @type {?} */ componentNodeIndex = ((((viewDef.nodes[0].element)).componentProvider)).nodeIndex;
11901
11890
  var /** @type {?} */ view = Services.createRootView(injector, projectableNodes || [], rootSelectorOrNode, viewDef, ngModule, EMPTY_CONTEXT);
11902
11891
  var /** @type {?} */ component = asProviderData(view, componentNodeIndex).instance;
11903
11892
  if (rootSelectorOrNode) {
@@ -11927,7 +11916,7 @@ var ComponentRef_ = (function (_super) {
11927
11916
  * @return {?}
11928
11917
  */
11929
11918
  get: function () {
11930
- return new ElementRef(asElementData(this._view, this._elDef.index).renderElement);
11919
+ return new ElementRef(asElementData(this._view, this._elDef.nodeIndex).renderElement);
11931
11920
  },
11932
11921
  enumerable: true,
11933
11922
  configurable: true
@@ -11948,7 +11937,6 @@ var ComponentRef_ = (function (_super) {
11948
11937
  enumerable: true,
11949
11938
  configurable: true
11950
11939
  });
11951
-
11952
11940
  Object.defineProperty(ComponentRef_.prototype, "hostView", {
11953
11941
  /**
11954
11942
  * @return {?}
@@ -11957,7 +11945,6 @@ var ComponentRef_ = (function (_super) {
11957
11945
  enumerable: true,
11958
11946
  configurable: true
11959
11947
  });
11960
-
11961
11948
  Object.defineProperty(ComponentRef_.prototype, "changeDetectorRef", {
11962
11949
  /**
11963
11950
  * @return {?}
@@ -11966,7 +11953,6 @@ var ComponentRef_ = (function (_super) {
11966
11953
  enumerable: true,
11967
11954
  configurable: true
11968
11955
  });
11969
-
11970
11956
  Object.defineProperty(ComponentRef_.prototype, "componentType", {
11971
11957
  /**
11972
11958
  * @return {?}
@@ -12073,7 +12059,6 @@ var ViewContainerRef_ = (function () {
12073
12059
  enumerable: true,
12074
12060
  configurable: true
12075
12061
  });
12076
-
12077
12062
  /**
12078
12063
  * @template C
12079
12064
  * @param {?} templateRef
@@ -12312,7 +12297,7 @@ var TemplateRef_ = (function (_super) {
12312
12297
  * @return {?}
12313
12298
  */
12314
12299
  get: function () {
12315
- return new ElementRef(asElementData(this._parentView, this._def.index).renderElement);
12300
+ return new ElementRef(asElementData(this._parentView, this._def.nodeIndex).renderElement);
12316
12301
  },
12317
12302
  enumerable: true,
12318
12303
  configurable: true
@@ -12356,14 +12341,14 @@ var Injector_ = (function () {
12356
12341
  function nodeValue(view, index) {
12357
12342
  var /** @type {?} */ def = view.def.nodes[index];
12358
12343
  if (def.flags & 1 /* TypeElement */) {
12359
- var /** @type {?} */ elData = asElementData(view, def.index);
12344
+ var /** @type {?} */ elData = asElementData(view, def.nodeIndex);
12360
12345
  return ((def.element)).template ? elData.template : elData.renderElement;
12361
12346
  }
12362
12347
  else if (def.flags & 2 /* TypeText */) {
12363
- return asTextData(view, def.index).renderText;
12348
+ return asTextData(view, def.nodeIndex).renderText;
12364
12349
  }
12365
12350
  else if (def.flags & (20224 /* CatProvider */ | 16 /* TypePipe */)) {
12366
- return asProviderData(view, def.index).instance;
12351
+ return asProviderData(view, def.nodeIndex).instance;
12367
12352
  }
12368
12353
  throw new Error("Illegal state: read nodeValue for node index " + index);
12369
12354
  }
@@ -12661,8 +12646,8 @@ var ViewContainerRefTokenKey = tokenKey(ViewContainerRef);
12661
12646
  var TemplateRefTokenKey = tokenKey(TemplateRef);
12662
12647
  var ChangeDetectorRefTokenKey = tokenKey(ChangeDetectorRef);
12663
12648
  var InjectorRefTokenKey = tokenKey(Injector);
12664
- var NOT_CREATED = new Object();
12665
12649
  /**
12650
+ * @param {?} checkIndex
12666
12651
  * @param {?} flags
12667
12652
  * @param {?} matchedQueries
12668
12653
  * @param {?} childCount
@@ -12672,7 +12657,7 @@ var NOT_CREATED = new Object();
12672
12657
  * @param {?=} outputs
12673
12658
  * @return {?}
12674
12659
  */
12675
- function directiveDef(flags, matchedQueries, childCount, ctor, deps, props, outputs) {
12660
+ function directiveDef(checkIndex, flags, matchedQueries, childCount, ctor, deps, props, outputs) {
12676
12661
  var /** @type {?} */ bindings = [];
12677
12662
  if (props) {
12678
12663
  for (var /** @type {?} */ prop in props) {
@@ -12693,7 +12678,7 @@ function directiveDef(flags, matchedQueries, childCount, ctor, deps, props, outp
12693
12678
  }
12694
12679
  }
12695
12680
  flags |= 16384 /* TypeDirective */;
12696
- return _def(flags, matchedQueries, childCount, ctor, ctor, deps, bindings, outputDefs);
12681
+ return _def(checkIndex, flags, matchedQueries, childCount, ctor, ctor, deps, bindings, outputDefs);
12697
12682
  }
12698
12683
  /**
12699
12684
  * @param {?} flags
@@ -12703,7 +12688,7 @@ function directiveDef(flags, matchedQueries, childCount, ctor, deps, props, outp
12703
12688
  */
12704
12689
  function pipeDef(flags, ctor, deps) {
12705
12690
  flags |= 16 /* TypePipe */;
12706
- return _def(flags, null, 0, ctor, ctor, deps);
12691
+ return _def(-1, flags, null, 0, ctor, ctor, deps);
12707
12692
  }
12708
12693
  /**
12709
12694
  * @param {?} flags
@@ -12714,9 +12699,10 @@ function pipeDef(flags, ctor, deps) {
12714
12699
  * @return {?}
12715
12700
  */
12716
12701
  function providerDef$1(flags, matchedQueries, token, value, deps) {
12717
- return _def(flags, matchedQueries, 0, token, value, deps);
12702
+ return _def(-1, flags, matchedQueries, 0, token, value, deps);
12718
12703
  }
12719
12704
  /**
12705
+ * @param {?} checkIndex
12720
12706
  * @param {?} flags
12721
12707
  * @param {?} matchedQueriesDsl
12722
12708
  * @param {?} childCount
@@ -12727,7 +12713,7 @@ function providerDef$1(flags, matchedQueries, token, value, deps) {
12727
12713
  * @param {?=} outputs
12728
12714
  * @return {?}
12729
12715
  */
12730
- function _def(flags, matchedQueriesDsl, childCount, token, value, deps, bindings, outputs) {
12716
+ function _def(checkIndex, flags, matchedQueriesDsl, childCount, token, value, deps, bindings, outputs) {
12731
12717
  var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds;
12732
12718
  if (!outputs) {
12733
12719
  outputs = [];
@@ -12738,12 +12724,13 @@ function _def(flags, matchedQueriesDsl, childCount, token, value, deps, bindings
12738
12724
  var /** @type {?} */ depDefs = splitDepsDsl(deps);
12739
12725
  return {
12740
12726
  // will bet set by the view definition
12741
- index: -1,
12727
+ nodeIndex: -1,
12742
12728
  parent: null,
12743
12729
  renderParent: null,
12744
12730
  bindingIndex: -1,
12745
12731
  outputIndex: -1,
12746
12732
  // regular values
12733
+ checkIndex: checkIndex,
12747
12734
  flags: flags,
12748
12735
  childFlags: 0,
12749
12736
  directChildFlags: 0,
@@ -12763,7 +12750,7 @@ function _def(flags, matchedQueriesDsl, childCount, token, value, deps, bindings
12763
12750
  * @return {?}
12764
12751
  */
12765
12752
  function createProviderInstance(view, def) {
12766
- return def.flags & 4096 /* LazyProvider */ ? NOT_CREATED : _createProviderInstance(view, def);
12753
+ return _createProviderInstance(view, def);
12767
12754
  }
12768
12755
  /**
12769
12756
  * @param {?} view
@@ -12794,7 +12781,7 @@ function createDirectiveInstance(view, def) {
12794
12781
  if (def.outputs.length) {
12795
12782
  for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) {
12796
12783
  var /** @type {?} */ output = def.outputs[i];
12797
- var /** @type {?} */ subscription = instance[((output.propName))].subscribe(eventHandlerClosure(view, /** @type {?} */ ((def.parent)).index, output.eventName)); /** @type {?} */
12784
+ var /** @type {?} */ subscription = instance[((output.propName))].subscribe(eventHandlerClosure(view, /** @type {?} */ ((def.parent)).nodeIndex, output.eventName)); /** @type {?} */
12798
12785
  ((view.disposables))[def.outputIndex + i] = subscription.unsubscribe.bind(subscription);
12799
12786
  }
12800
12787
  }
@@ -12833,7 +12820,7 @@ function eventHandlerClosure(view, index, eventName) {
12833
12820
  * @return {?}
12834
12821
  */
12835
12822
  function checkAndUpdateDirectiveInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
12836
- var /** @type {?} */ providerData = asProviderData(view, def.index);
12823
+ var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex);
12837
12824
  var /** @type {?} */ directive = providerData.instance;
12838
12825
  var /** @type {?} */ changed = false;
12839
12826
  var /** @type {?} */ changes = ((undefined));
@@ -12896,7 +12883,7 @@ function checkAndUpdateDirectiveInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7
12896
12883
  * @return {?}
12897
12884
  */
12898
12885
  function checkAndUpdateDirectiveDynamic(view, def, values) {
12899
- var /** @type {?} */ providerData = asProviderData(view, def.index);
12886
+ var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex);
12900
12887
  var /** @type {?} */ directive = providerData.instance;
12901
12888
  var /** @type {?} */ changed = false;
12902
12889
  var /** @type {?} */ changes = ((undefined));
@@ -12926,22 +12913,16 @@ function _createProviderInstance(view, def) {
12926
12913
  // private services can see other private services
12927
12914
  var /** @type {?} */ allowPrivateServices = (def.flags & 8192 /* PrivateProvider */) > 0;
12928
12915
  var /** @type {?} */ providerDef = def.provider;
12929
- var /** @type {?} */ injectable;
12930
12916
  switch (def.flags & 201347067 /* Types */) {
12931
12917
  case 512 /* TypeClassProvider */:
12932
- injectable = createClass(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);
12933
- break;
12918
+ return createClass(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);
12934
12919
  case 1024 /* TypeFactoryProvider */:
12935
- injectable = callFactory(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);
12936
- break;
12920
+ return callFactory(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);
12937
12921
  case 2048 /* TypeUseExistingProvider */:
12938
- injectable = resolveDep(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).deps[0]);
12939
- break;
12922
+ return resolveDep(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).deps[0]);
12940
12923
  case 256 /* TypeValueProvider */:
12941
- injectable = ((providerDef)).value;
12942
- break;
12924
+ return ((providerDef)).value;
12943
12925
  }
12944
- return injectable;
12945
12926
  }
12946
12927
  /**
12947
12928
  * @param {?} view
@@ -12953,28 +12934,22 @@ function _createProviderInstance(view, def) {
12953
12934
  */
12954
12935
  function createClass(view, elDef, allowPrivateServices, ctor, deps) {
12955
12936
  var /** @type {?} */ len = deps.length;
12956
- var /** @type {?} */ injectable;
12957
12937
  switch (len) {
12958
12938
  case 0:
12959
- injectable = new ctor();
12960
- break;
12939
+ return new ctor();
12961
12940
  case 1:
12962
- injectable = new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]));
12963
- break;
12941
+ return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]));
12964
12942
  case 2:
12965
- injectable = new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));
12966
- break;
12943
+ return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));
12967
12944
  case 3:
12968
- injectable = new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));
12969
- break;
12945
+ return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));
12970
12946
  default:
12971
12947
  var /** @type {?} */ depValues = new Array(len);
12972
12948
  for (var /** @type {?} */ i = 0; i < len; i++) {
12973
12949
  depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]);
12974
12950
  }
12975
- injectable = new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();
12951
+ return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();
12976
12952
  }
12977
- return injectable;
12978
12953
  }
12979
12954
  /**
12980
12955
  * @param {?} view
@@ -12986,28 +12961,22 @@ function createClass(view, elDef, allowPrivateServices, ctor, deps) {
12986
12961
  */
12987
12962
  function callFactory(view, elDef, allowPrivateServices, factory, deps) {
12988
12963
  var /** @type {?} */ len = deps.length;
12989
- var /** @type {?} */ injectable;
12990
12964
  switch (len) {
12991
12965
  case 0:
12992
- injectable = factory();
12993
- break;
12966
+ return factory();
12994
12967
  case 1:
12995
- injectable = factory(resolveDep(view, elDef, allowPrivateServices, deps[0]));
12996
- break;
12968
+ return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]));
12997
12969
  case 2:
12998
- injectable = factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));
12999
- break;
12970
+ return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));
13000
12971
  case 3:
13001
- injectable = factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));
13002
- break;
12972
+ return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));
13003
12973
  default:
13004
12974
  var /** @type {?} */ depValues = Array(len);
13005
12975
  for (var /** @type {?} */ i = 0; i < len; i++) {
13006
12976
  depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]);
13007
12977
  }
13008
- injectable = factory.apply(void 0, depValues);
12978
+ return factory.apply(void 0, depValues);
13009
12979
  }
13010
- return injectable;
13011
12980
  }
13012
12981
  // This default value is when checking the hierarchy for a token.
13013
12982
  //
@@ -13066,12 +13035,12 @@ function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) {
13066
13035
  return compView.renderer;
13067
13036
  }
13068
13037
  case ElementRefTokenKey:
13069
- return new ElementRef(asElementData(view, elDef.index).renderElement);
13038
+ return new ElementRef(asElementData(view, elDef.nodeIndex).renderElement);
13070
13039
  case ViewContainerRefTokenKey:
13071
- return asElementData(view, elDef.index).viewContainer;
13040
+ return asElementData(view, elDef.nodeIndex).viewContainer;
13072
13041
  case TemplateRefTokenKey: {
13073
13042
  if (((elDef.element)).template) {
13074
- return asElementData(view, elDef.index).template;
13043
+ return asElementData(view, elDef.nodeIndex).template;
13075
13044
  }
13076
13045
  break;
13077
13046
  }
@@ -13084,9 +13053,10 @@ function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) {
13084
13053
  default:
13085
13054
  var /** @type {?} */ providerDef_1 = (((allowPrivateServices ? ((elDef.element)).allProviders : ((elDef.element)).publicProviders)))[tokenKey$$1];
13086
13055
  if (providerDef_1) {
13087
- var /** @type {?} */ providerData = asProviderData(view, providerDef_1.index);
13088
- if (providerData.instance === NOT_CREATED) {
13089
- providerData.instance = _createProviderInstance(view, providerDef_1);
13056
+ var /** @type {?} */ providerData = asProviderData(view, providerDef_1.nodeIndex);
13057
+ if (!providerData) {
13058
+ providerData = { instance: _createProviderInstance(view, providerDef_1) };
13059
+ view.nodes[providerDef_1.nodeIndex] = (providerData);
13090
13060
  }
13091
13061
  return providerData.instance;
13092
13062
  }
@@ -13117,7 +13087,7 @@ function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) {
13117
13087
  function findCompView(view, elDef, allowPrivateServices) {
13118
13088
  var /** @type {?} */ compView;
13119
13089
  if (allowPrivateServices) {
13120
- compView = asElementData(view, elDef.index).componentView;
13090
+ compView = asElementData(view, elDef.nodeIndex).componentView;
13121
13091
  }
13122
13092
  else {
13123
13093
  compView = view;
@@ -13138,7 +13108,7 @@ function findCompView(view, elDef, allowPrivateServices) {
13138
13108
  */
13139
13109
  function updateProp(view, providerData, def, bindingIdx, value, changes) {
13140
13110
  if (def.flags & 32768 /* Component */) {
13141
- var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((def.parent)).index).componentView;
13111
+ var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((def.parent)).nodeIndex).componentView;
13142
13112
  if (compView.def.flags & 2 /* OnPush */) {
13143
13113
  compView.state |= 8 /* ChecksEnabled */;
13144
13114
  }
@@ -13184,7 +13154,7 @@ function callLifecycleHooksChildrenFirst(view, lifecycles) {
13184
13154
  i += nodeDef.childCount;
13185
13155
  }
13186
13156
  while (parent && (parent.flags & 1 /* TypeElement */) &&
13187
- i === parent.index + parent.childCount) {
13157
+ i === parent.nodeIndex + parent.childCount) {
13188
13158
  // last child of an element
13189
13159
  if (parent.directChildFlags & lifecycles) {
13190
13160
  callElementProvidersLifecycles(view, parent, lifecycles);
@@ -13200,7 +13170,7 @@ function callLifecycleHooksChildrenFirst(view, lifecycles) {
13200
13170
  * @return {?}
13201
13171
  */
13202
13172
  function callElementProvidersLifecycles(view, elDef, lifecycles) {
13203
- for (var /** @type {?} */ i = elDef.index + 1; i <= elDef.index + elDef.childCount; i++) {
13173
+ for (var /** @type {?} */ i = elDef.nodeIndex + 1; i <= elDef.nodeIndex + elDef.childCount; i++) {
13204
13174
  var /** @type {?} */ nodeDef = view.def.nodes[i];
13205
13175
  if (nodeDef.flags & lifecycles) {
13206
13176
  callProviderLifecycles(view, i, nodeDef.flags & lifecycles);
@@ -13216,8 +13186,12 @@ function callElementProvidersLifecycles(view, elDef, lifecycles) {
13216
13186
  * @return {?}
13217
13187
  */
13218
13188
  function callProviderLifecycles(view, index, lifecycles) {
13219
- var /** @type {?} */ provider = asProviderData(view, index).instance;
13220
- if (provider === NOT_CREATED) {
13189
+ var /** @type {?} */ providerData = asProviderData(view, index);
13190
+ if (!providerData) {
13191
+ return;
13192
+ }
13193
+ var /** @type {?} */ provider = providerData.instance;
13194
+ if (!provider) {
13221
13195
  return;
13222
13196
  }
13223
13197
  Services.setCurrentNode(view, index);
@@ -13258,13 +13232,14 @@ function queryDef(flags, id, bindings) {
13258
13232
  }
13259
13233
  return {
13260
13234
  // will bet set by the view definition
13261
- index: -1,
13235
+ nodeIndex: -1,
13262
13236
  parent: null,
13263
13237
  renderParent: null,
13264
13238
  bindingIndex: -1,
13265
13239
  outputIndex: -1,
13266
13240
  // regular values
13267
- flags: flags,
13241
+ // TODO(vicb): check
13242
+ checkIndex: -1, flags: flags,
13268
13243
  childFlags: 0,
13269
13244
  directChildFlags: 0,
13270
13245
  childMatchedQueries: 0,
@@ -13299,7 +13274,7 @@ function dirtyParentQueries(view) {
13299
13274
  var /** @type {?} */ tplDef = ((view.parentNodeDef));
13300
13275
  view = view.parent;
13301
13276
  // content queries
13302
- var /** @type {?} */ end = tplDef.index + tplDef.childCount;
13277
+ var /** @type {?} */ end = tplDef.nodeIndex + tplDef.childCount;
13303
13278
  for (var /** @type {?} */ i = 0; i <= end; i++) {
13304
13279
  var /** @type {?} */ nodeDef = view.def.nodes[i];
13305
13280
  if ((nodeDef.flags & 67108864 /* TypeContentQuery */) &&
@@ -13307,7 +13282,7 @@ function dirtyParentQueries(view) {
13307
13282
  (((nodeDef.query)).filterId & queryIds) === ((nodeDef.query)).filterId) {
13308
13283
  asQueryList(view, i).setDirty();
13309
13284
  }
13310
- if ((nodeDef.flags & 1 /* TypeElement */ && i + nodeDef.childCount < tplDef.index) ||
13285
+ if ((nodeDef.flags & 1 /* TypeElement */ && i + nodeDef.childCount < tplDef.nodeIndex) ||
13311
13286
  !(nodeDef.childFlags & 67108864 /* TypeContentQuery */) ||
13312
13287
  !(nodeDef.childFlags & 536870912 /* DynamicQuery */)) {
13313
13288
  // skip elements that don't contain the template element or no query.
@@ -13333,7 +13308,7 @@ function dirtyParentQueries(view) {
13333
13308
  * @return {?}
13334
13309
  */
13335
13310
  function checkAndUpdateQuery(view, nodeDef) {
13336
- var /** @type {?} */ queryList = asQueryList(view, nodeDef.index);
13311
+ var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex);
13337
13312
  if (!queryList.dirty) {
13338
13313
  return;
13339
13314
  }
@@ -13341,8 +13316,8 @@ function checkAndUpdateQuery(view, nodeDef) {
13341
13316
  var /** @type {?} */ newValues = ((undefined));
13342
13317
  if (nodeDef.flags & 67108864 /* TypeContentQuery */) {
13343
13318
  var /** @type {?} */ elementDef_1 = ((((nodeDef.parent)).parent));
13344
- newValues = calcQueryValues(view, elementDef_1.index, elementDef_1.index + elementDef_1.childCount, /** @type {?} */ ((nodeDef.query)), []);
13345
- directiveInstance = asProviderData(view, /** @type {?} */ ((nodeDef.parent)).index).instance;
13319
+ newValues = calcQueryValues(view, elementDef_1.nodeIndex, elementDef_1.nodeIndex + elementDef_1.childCount, /** @type {?} */ ((nodeDef.query)), []);
13320
+ directiveInstance = asProviderData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).instance;
13346
13321
  }
13347
13322
  else if (nodeDef.flags & 134217728 /* TypeViewQuery */) {
13348
13323
  newValues = calcQueryValues(view, 0, view.def.nodes.length - 1, /** @type {?} */ ((nodeDef.query)), []);
@@ -13428,25 +13403,18 @@ function calcQueryValues(view, startIndex, endIndex, queryDef, values) {
13428
13403
  function getQueryValue(view, nodeDef, queryValueType) {
13429
13404
  if (queryValueType != null) {
13430
13405
  // a match
13431
- var /** @type {?} */ value = void 0;
13432
13406
  switch (queryValueType) {
13433
13407
  case 1 /* RenderElement */:
13434
- value = asElementData(view, nodeDef.index).renderElement;
13435
- break;
13408
+ return asElementData(view, nodeDef.nodeIndex).renderElement;
13436
13409
  case 0 /* ElementRef */:
13437
- value = new ElementRef(asElementData(view, nodeDef.index).renderElement);
13438
- break;
13410
+ return new ElementRef(asElementData(view, nodeDef.nodeIndex).renderElement);
13439
13411
  case 2 /* TemplateRef */:
13440
- value = asElementData(view, nodeDef.index).template;
13441
- break;
13412
+ return asElementData(view, nodeDef.nodeIndex).template;
13442
13413
  case 3 /* ViewContainerRef */:
13443
- value = asElementData(view, nodeDef.index).viewContainer;
13444
- break;
13414
+ return asElementData(view, nodeDef.nodeIndex).viewContainer;
13445
13415
  case 4 /* Provider */:
13446
- value = asProviderData(view, nodeDef.index).instance;
13447
- break;
13416
+ return asProviderData(view, nodeDef.nodeIndex).instance;
13448
13417
  }
13449
- return value;
13450
13418
  }
13451
13419
  }
13452
13420
  /**
@@ -13464,12 +13432,13 @@ function getQueryValue(view, nodeDef, queryValueType) {
13464
13432
  function ngContentDef(ngContentIndex, index) {
13465
13433
  return {
13466
13434
  // will bet set by the view definition
13467
- index: -1,
13435
+ nodeIndex: -1,
13468
13436
  parent: null,
13469
13437
  renderParent: null,
13470
13438
  bindingIndex: -1,
13471
13439
  outputIndex: -1,
13472
13440
  // regular values
13441
+ checkIndex: -1,
13473
13442
  flags: 8 /* TypeNgContent */,
13474
13443
  childFlags: 0,
13475
13444
  directChildFlags: 0,
@@ -13511,25 +13480,28 @@ function appendNgContent(view, renderHost, def) {
13511
13480
  * found in the LICENSE file at https://angular.io/license
13512
13481
  */
13513
13482
  /**
13483
+ * @param {?} checkIndex
13514
13484
  * @param {?} argCount
13515
13485
  * @return {?}
13516
13486
  */
13517
- function purePipeDef(argCount) {
13487
+ function purePipeDef(checkIndex, argCount) {
13518
13488
  // argCount + 1 to include the pipe as first arg
13519
- return _pureExpressionDef(128 /* TypePurePipe */, new Array(argCount + 1));
13489
+ return _pureExpressionDef(128 /* TypePurePipe */, checkIndex, new Array(argCount + 1));
13520
13490
  }
13521
13491
  /**
13492
+ * @param {?} checkIndex
13522
13493
  * @param {?} argCount
13523
13494
  * @return {?}
13524
13495
  */
13525
- function pureArrayDef(argCount) {
13526
- return _pureExpressionDef(32 /* TypePureArray */, new Array(argCount));
13496
+ function pureArrayDef(checkIndex, argCount) {
13497
+ return _pureExpressionDef(32 /* TypePureArray */, checkIndex, new Array(argCount));
13527
13498
  }
13528
13499
  /**
13500
+ * @param {?} checkIndex
13529
13501
  * @param {?} propToIndex
13530
13502
  * @return {?}
13531
13503
  */
13532
- function pureObjectDef(propToIndex) {
13504
+ function pureObjectDef(checkIndex, propToIndex) {
13533
13505
  var /** @type {?} */ keys = Object.keys(propToIndex);
13534
13506
  var /** @type {?} */ nbKeys = keys.length;
13535
13507
  var /** @type {?} */ propertyNames = new Array(nbKeys);
@@ -13538,14 +13510,15 @@ function pureObjectDef(propToIndex) {
13538
13510
  var /** @type {?} */ index = propToIndex[key];
13539
13511
  propertyNames[index] = key;
13540
13512
  }
13541
- return _pureExpressionDef(64 /* TypePureObject */, propertyNames);
13513
+ return _pureExpressionDef(64 /* TypePureObject */, checkIndex, propertyNames);
13542
13514
  }
13543
13515
  /**
13544
13516
  * @param {?} flags
13517
+ * @param {?} checkIndex
13545
13518
  * @param {?} propertyNames
13546
13519
  * @return {?}
13547
13520
  */
13548
- function _pureExpressionDef(flags, propertyNames) {
13521
+ function _pureExpressionDef(flags, checkIndex, propertyNames) {
13549
13522
  var /** @type {?} */ bindings = new Array(propertyNames.length);
13550
13523
  for (var /** @type {?} */ i = 0; i < propertyNames.length; i++) {
13551
13524
  var /** @type {?} */ prop = propertyNames[i];
@@ -13560,12 +13533,13 @@ function _pureExpressionDef(flags, propertyNames) {
13560
13533
  }
13561
13534
  return {
13562
13535
  // will bet set by the view definition
13563
- index: -1,
13536
+ nodeIndex: -1,
13564
13537
  parent: null,
13565
13538
  renderParent: null,
13566
13539
  bindingIndex: -1,
13567
13540
  outputIndex: -1,
13568
13541
  // regular values
13542
+ checkIndex: checkIndex,
13569
13543
  flags: flags,
13570
13544
  childFlags: 0,
13571
13545
  directChildFlags: 0,
@@ -13632,7 +13606,7 @@ function checkAndUpdatePureExpressionInline(view, def, v0, v1, v2, v3, v4, v5, v
13632
13606
  if (bindLen > 9 && checkAndUpdateBinding(view, def, 9, v9))
13633
13607
  changed = true;
13634
13608
  if (changed) {
13635
- var /** @type {?} */ data = asPureExpressionData(view, def.index);
13609
+ var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex);
13636
13610
  var /** @type {?} */ value = void 0;
13637
13611
  switch (def.flags & 201347067 /* Types */) {
13638
13612
  case 32 /* TypePureArray */:
@@ -13738,7 +13712,7 @@ function checkAndUpdatePureExpressionDynamic(view, def, values) {
13738
13712
  }
13739
13713
  }
13740
13714
  if (changed) {
13741
- var /** @type {?} */ data = asPureExpressionData(view, def.index);
13715
+ var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex);
13742
13716
  var /** @type {?} */ value = void 0;
13743
13717
  switch (def.flags & 201347067 /* Types */) {
13744
13718
  case 32 /* TypePureArray */:
@@ -13768,32 +13742,33 @@ function checkAndUpdatePureExpressionDynamic(view, def, values) {
13768
13742
  * found in the LICENSE file at https://angular.io/license
13769
13743
  */
13770
13744
  /**
13745
+ * @param {?} checkIndex
13771
13746
  * @param {?} ngContentIndex
13772
- * @param {?} constants
13747
+ * @param {?} staticText
13773
13748
  * @return {?}
13774
13749
  */
13775
- function textDef(ngContentIndex, constants) {
13776
- var /** @type {?} */ bindings = new Array(constants.length - 1);
13777
- for (var /** @type {?} */ i = 1; i < constants.length; i++) {
13750
+ function textDef(checkIndex, ngContentIndex, staticText) {
13751
+ var /** @type {?} */ bindings = new Array(staticText.length - 1);
13752
+ for (var /** @type {?} */ i = 1; i < staticText.length; i++) {
13778
13753
  bindings[i - 1] = {
13779
13754
  flags: 8 /* TypeProperty */,
13780
13755
  name: null,
13781
13756
  ns: null,
13782
13757
  nonMinifiedName: null,
13783
13758
  securityContext: null,
13784
- suffix: constants[i]
13759
+ suffix: staticText[i],
13785
13760
  };
13786
13761
  }
13787
- var /** @type {?} */ flags = 2;
13788
13762
  return {
13789
13763
  // will bet set by the view definition
13790
- index: -1,
13764
+ nodeIndex: -1,
13791
13765
  parent: null,
13792
13766
  renderParent: null,
13793
13767
  bindingIndex: -1,
13794
13768
  outputIndex: -1,
13795
13769
  // regular values
13796
- flags: flags,
13770
+ checkIndex: checkIndex,
13771
+ flags: 2 /* TypeText */,
13797
13772
  childFlags: 0,
13798
13773
  directChildFlags: 0,
13799
13774
  childMatchedQueries: 0,
@@ -13801,13 +13776,13 @@ function textDef(ngContentIndex, constants) {
13801
13776
  matchedQueryIds: 0,
13802
13777
  references: {}, ngContentIndex: ngContentIndex,
13803
13778
  childCount: 0, bindings: bindings,
13804
- bindingFlags: calcBindingFlags(bindings),
13779
+ bindingFlags: 8 /* TypeProperty */,
13805
13780
  outputs: [],
13806
13781
  element: null,
13807
13782
  provider: null,
13808
- text: { prefix: constants[0] },
13783
+ text: { prefix: staticText[0] },
13809
13784
  query: null,
13810
- ngContent: null
13785
+ ngContent: null,
13811
13786
  };
13812
13787
  }
13813
13788
  /**
@@ -13887,7 +13862,7 @@ function checkAndUpdateTextInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8,
13887
13862
  value += _addInterpolationPart(v8, bindings[8]);
13888
13863
  if (bindLen > 9)
13889
13864
  value += _addInterpolationPart(v9, bindings[9]);
13890
- var /** @type {?} */ renderNode$$1 = asTextData(view, def.index).renderText;
13865
+ var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText;
13891
13866
  view.renderer.setValue(renderNode$$1, value);
13892
13867
  }
13893
13868
  return changed;
@@ -13914,7 +13889,7 @@ function checkAndUpdateTextDynamic(view, def, values) {
13914
13889
  value = value + _addInterpolationPart(values[i], bindings[i]);
13915
13890
  }
13916
13891
  value = ((def.text)).prefix + value;
13917
- var /** @type {?} */ renderNode$$1 = asTextData(view, def.index).renderText;
13892
+ var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText;
13918
13893
  view.renderer.setValue(renderNode$$1, value);
13919
13894
  }
13920
13895
  return changed;
@@ -13950,33 +13925,19 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
13950
13925
  var /** @type {?} */ viewRootNodeFlags = 0;
13951
13926
  var /** @type {?} */ viewMatchedQueries = 0;
13952
13927
  var /** @type {?} */ currentParent = null;
13928
+ var /** @type {?} */ currentRenderParent = null;
13953
13929
  var /** @type {?} */ currentElementHasPublicProviders = false;
13954
13930
  var /** @type {?} */ currentElementHasPrivateProviders = false;
13955
13931
  var /** @type {?} */ lastRenderRootNode = null;
13956
13932
  for (var /** @type {?} */ i = 0; i < nodes.length; i++) {
13957
- while (currentParent && i > currentParent.index + currentParent.childCount) {
13958
- var /** @type {?} */ newParent = currentParent.parent;
13959
- if (newParent) {
13960
- newParent.childFlags |= ((currentParent.childFlags));
13961
- newParent.childMatchedQueries |= currentParent.childMatchedQueries;
13962
- }
13963
- currentParent = newParent;
13964
- }
13965
13933
  var /** @type {?} */ node = nodes[i];
13966
- node.index = i;
13934
+ node.nodeIndex = i;
13967
13935
  node.parent = currentParent;
13968
13936
  node.bindingIndex = viewBindingCount;
13969
13937
  node.outputIndex = viewDisposableCount;
13970
- // renderParent needs to account for ng-container!
13971
- var /** @type {?} */ currentRenderParent = void 0;
13972
- if (currentParent && currentParent.flags & 1 /* TypeElement */ &&
13973
- !((currentParent.element)).name) {
13974
- currentRenderParent = currentParent.renderParent;
13975
- }
13976
- else {
13977
- currentRenderParent = currentParent;
13978
- }
13979
13938
  node.renderParent = currentRenderParent;
13939
+ viewNodeFlags |= node.flags;
13940
+ viewMatchedQueries |= node.matchedQueryIds;
13980
13941
  if (node.element) {
13981
13942
  var /** @type {?} */ elDef = node.element;
13982
13943
  elDef.publicProviders =
@@ -13985,24 +13946,11 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
13985
13946
  // Note: We assume that all providers of an element are before any child element!
13986
13947
  currentElementHasPublicProviders = false;
13987
13948
  currentElementHasPrivateProviders = false;
13988
- }
13989
- validateNode(currentParent, node, nodes.length);
13990
- viewNodeFlags |= node.flags;
13991
- viewMatchedQueries |= node.matchedQueryIds;
13992
- if (node.element && node.element.template) {
13993
- viewMatchedQueries |= node.element.template.nodeMatchedQueries;
13994
- }
13995
- if (currentParent) {
13996
- currentParent.childFlags |= node.flags;
13997
- currentParent.directChildFlags |= node.flags;
13998
- currentParent.childMatchedQueries |= node.matchedQueryIds;
13999
- if (node.element && node.element.template) {
14000
- currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries;
13949
+ if (node.element.template) {
13950
+ viewMatchedQueries |= node.element.template.nodeMatchedQueries;
14001
13951
  }
14002
13952
  }
14003
- else {
14004
- viewRootNodeFlags |= node.flags;
14005
- }
13953
+ validateNode(currentParent, node, nodes.length);
14006
13954
  viewBindingCount += node.bindings.length;
14007
13955
  viewDisposableCount += node.outputs.length;
14008
13956
  if (!currentRenderParent && (node.flags & 3 /* CatRenderNode */)) {
@@ -14026,7 +13974,7 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
14026
13974
  if (!currentElementHasPrivateProviders) {
14027
13975
  currentElementHasPrivateProviders = true; /** @type {?} */
14028
13976
  ((((
14029
- // Use protoyypical inheritance to not get O(n^2) complexity...
13977
+ // Use prototypical inheritance to not get O(n^2) complexity...
14030
13978
  currentParent)).element)).allProviders =
14031
13979
  Object.create(/** @type {?} */ ((((currentParent)).element)).publicProviders);
14032
13980
  } /** @type {?} */
@@ -14036,17 +13984,45 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
14036
13984
  ((((currentParent)).element)).componentProvider = node;
14037
13985
  }
14038
13986
  }
14039
- if (node.childCount) {
13987
+ if (currentParent) {
13988
+ currentParent.childFlags |= node.flags;
13989
+ currentParent.directChildFlags |= node.flags;
13990
+ currentParent.childMatchedQueries |= node.matchedQueryIds;
13991
+ if (node.element && node.element.template) {
13992
+ currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries;
13993
+ }
13994
+ }
13995
+ else {
13996
+ viewRootNodeFlags |= node.flags;
13997
+ }
13998
+ if (node.childCount > 0) {
14040
13999
  currentParent = node;
14000
+ if (!isNgContainer$1(node)) {
14001
+ currentRenderParent = node;
14002
+ }
14041
14003
  }
14042
- }
14043
- while (currentParent) {
14044
- var /** @type {?} */ newParent = currentParent.parent;
14045
- if (newParent) {
14046
- newParent.childFlags |= currentParent.childFlags;
14047
- newParent.childMatchedQueries |= currentParent.childMatchedQueries;
14004
+ else {
14005
+ // When the current node has no children, check if it is the last children of its parent.
14006
+ // When it is, propagate the flags up.
14007
+ // The loop is required because an element could be the last transitive children of several
14008
+ // elements. We loop to either the root or the highest opened element (= with remaining
14009
+ // children)
14010
+ while (currentParent && i === currentParent.nodeIndex + currentParent.childCount) {
14011
+ var /** @type {?} */ newParent = currentParent.parent;
14012
+ if (newParent) {
14013
+ newParent.childFlags |= currentParent.childFlags;
14014
+ newParent.childMatchedQueries |= currentParent.childMatchedQueries;
14015
+ }
14016
+ currentParent = newParent;
14017
+ // We also need to update the render parent & account for ng-container
14018
+ if (currentParent && isNgContainer$1(currentParent)) {
14019
+ currentRenderParent = currentParent.renderParent;
14020
+ }
14021
+ else {
14022
+ currentRenderParent = currentParent;
14023
+ }
14024
+ }
14048
14025
  }
14049
- currentParent = newParent;
14050
14026
  }
14051
14027
  var /** @type {?} */ handleEvent = function (view, nodeIndex, eventName, event) { return ((((nodes[nodeIndex].element)).handleEvent))(view, eventName, event); };
14052
14028
  return {
@@ -14057,12 +14033,18 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
14057
14033
  nodeMatchedQueries: viewMatchedQueries, flags: flags,
14058
14034
  nodes: nodes,
14059
14035
  updateDirectives: updateDirectives || NOOP,
14060
- updateRenderer: updateRenderer || NOOP,
14061
- handleEvent: handleEvent || NOOP,
14036
+ updateRenderer: updateRenderer || NOOP, handleEvent: handleEvent,
14062
14037
  bindingCount: viewBindingCount,
14063
14038
  outputCount: viewDisposableCount, lastRenderRootNode: lastRenderRootNode
14064
14039
  };
14065
14040
  }
14041
+ /**
14042
+ * @param {?} node
14043
+ * @return {?}
14044
+ */
14045
+ function isNgContainer$1(node) {
14046
+ return (node.flags & 1 /* TypeElement */) !== 0 && ((node.element)).name === null;
14047
+ }
14066
14048
  /**
14067
14049
  * @param {?} parent
14068
14050
  * @param {?} node
@@ -14077,28 +14059,28 @@ function validateNode(parent, node, nodeCount) {
14077
14059
  }
14078
14060
  if (template.lastRenderRootNode &&
14079
14061
  template.lastRenderRootNode.flags & 16777216 /* EmbeddedViews */) {
14080
- throw new Error("Illegal State: Last root node of a template can't have embedded views, at index " + node.index + "!");
14062
+ throw new Error("Illegal State: Last root node of a template can't have embedded views, at index " + node.nodeIndex + "!");
14081
14063
  }
14082
14064
  }
14083
14065
  if (node.flags & 20224 /* CatProvider */) {
14084
14066
  var /** @type {?} */ parentFlags = parent ? parent.flags : 0;
14085
14067
  if ((parentFlags & 1 /* TypeElement */) === 0) {
14086
- throw new Error("Illegal State: Provider/Directive nodes need to be children of elements or anchors, at index " + node.index + "!");
14068
+ throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index " + node.nodeIndex + "!");
14087
14069
  }
14088
14070
  }
14089
14071
  if (node.query) {
14090
14072
  if (node.flags & 67108864 /* TypeContentQuery */ &&
14091
14073
  (!parent || (parent.flags & 16384 /* TypeDirective */) === 0)) {
14092
- throw new Error("Illegal State: Content Query nodes need to be children of directives, at index " + node.index + "!");
14074
+ throw new Error("Illegal State: Content Query nodes need to be children of directives, at index " + node.nodeIndex + "!");
14093
14075
  }
14094
14076
  if (node.flags & 134217728 /* TypeViewQuery */ && parent) {
14095
- throw new Error("Illegal State: View Query nodes have to be top level nodes, at index " + node.index + "!");
14077
+ throw new Error("Illegal State: View Query nodes have to be top level nodes, at index " + node.nodeIndex + "!");
14096
14078
  }
14097
14079
  }
14098
14080
  if (node.childCount) {
14099
- var /** @type {?} */ parentEnd = parent ? parent.index + parent.childCount : nodeCount - 1;
14100
- if (node.index <= parentEnd && node.index + node.childCount > parentEnd) {
14101
- throw new Error("Illegal State: childCount of node leads outside of parent, at index " + node.index + "!");
14081
+ var /** @type {?} */ parentEnd = parent ? parent.nodeIndex + parent.childCount : nodeCount - 1;
14082
+ if (node.nodeIndex <= parentEnd && node.nodeIndex + node.childCount > parentEnd) {
14083
+ throw new Error("Illegal State: childCount of node leads outside of parent, at index " + node.nodeIndex + "!");
14102
14084
  }
14103
14085
  }
14104
14086
  }
@@ -14187,7 +14169,7 @@ function createViewNodes(view) {
14187
14169
  var /** @type {?} */ renderHost;
14188
14170
  if (isComponentView(view)) {
14189
14171
  var /** @type {?} */ hostDef = view.parentNodeDef;
14190
- renderHost = asElementData(/** @type {?} */ ((view.parent)), /** @type {?} */ ((((hostDef)).parent)).index).renderElement;
14172
+ renderHost = asElementData(/** @type {?} */ ((view.parent)), /** @type {?} */ ((((hostDef)).parent)).nodeIndex).renderElement;
14191
14173
  }
14192
14174
  var /** @type {?} */ def = view.def;
14193
14175
  var /** @type {?} */ nodes = view.nodes;
@@ -14221,8 +14203,11 @@ function createViewNodes(view) {
14221
14203
  case 1024 /* TypeFactoryProvider */:
14222
14204
  case 2048 /* TypeUseExistingProvider */:
14223
14205
  case 256 /* TypeValueProvider */: {
14224
- var /** @type {?} */ instance = createProviderInstance(view, nodeDef);
14225
- nodeData = ({ instance: instance });
14206
+ nodeData = nodes[i];
14207
+ if (!nodeData && !(nodeDef.flags & 4096 /* LazyProvider */)) {
14208
+ var /** @type {?} */ instance = createProviderInstance(view, nodeDef);
14209
+ nodeData = ({ instance: instance });
14210
+ }
14226
14211
  break;
14227
14212
  }
14228
14213
  case 16 /* TypePipe */: {
@@ -14231,11 +14216,14 @@ function createViewNodes(view) {
14231
14216
  break;
14232
14217
  }
14233
14218
  case 16384 /* TypeDirective */: {
14234
- var /** @type {?} */ instance = createDirectiveInstance(view, nodeDef);
14235
- nodeData = ({ instance: instance });
14219
+ nodeData = nodes[i];
14220
+ if (!nodeData) {
14221
+ var /** @type {?} */ instance = createDirectiveInstance(view, nodeDef);
14222
+ nodeData = ({ instance: instance });
14223
+ }
14236
14224
  if (nodeDef.flags & 32768 /* Component */) {
14237
- var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((nodeDef.parent)).index).componentView;
14238
- initView(compView, instance, instance);
14225
+ var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).componentView;
14226
+ initView(compView, nodeData.instance, nodeData.instance);
14239
14227
  }
14240
14228
  break;
14241
14229
  }
@@ -14373,26 +14361,20 @@ function markProjectedViewsForCheck(view) {
14373
14361
  * @return {?}
14374
14362
  */
14375
14363
  function checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
14376
- var /** @type {?} */ changed = false;
14377
14364
  switch (nodeDef.flags & 201347067 /* Types */) {
14378
14365
  case 1 /* TypeElement */:
14379
- changed = checkAndUpdateElementInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14380
- break;
14366
+ return checkAndUpdateElementInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14381
14367
  case 2 /* TypeText */:
14382
- changed = checkAndUpdateTextInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14383
- break;
14368
+ return checkAndUpdateTextInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14384
14369
  case 16384 /* TypeDirective */:
14385
- changed =
14386
- checkAndUpdateDirectiveInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14387
- break;
14370
+ return checkAndUpdateDirectiveInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14388
14371
  case 32 /* TypePureArray */:
14389
14372
  case 64 /* TypePureObject */:
14390
14373
  case 128 /* TypePurePipe */:
14391
- changed =
14392
- checkAndUpdatePureExpressionInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14393
- break;
14374
+ return checkAndUpdatePureExpressionInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
14375
+ default:
14376
+ throw 'unreachable';
14394
14377
  }
14395
- return changed;
14396
14378
  }
14397
14379
  /**
14398
14380
  * @param {?} view
@@ -14401,34 +14383,20 @@ function checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7,
14401
14383
  * @return {?}
14402
14384
  */
14403
14385
  function checkAndUpdateNodeDynamic(view, nodeDef, values) {
14404
- var /** @type {?} */ changed = false;
14405
14386
  switch (nodeDef.flags & 201347067 /* Types */) {
14406
14387
  case 1 /* TypeElement */:
14407
- changed = checkAndUpdateElementDynamic(view, nodeDef, values);
14408
- break;
14388
+ return checkAndUpdateElementDynamic(view, nodeDef, values);
14409
14389
  case 2 /* TypeText */:
14410
- changed = checkAndUpdateTextDynamic(view, nodeDef, values);
14411
- break;
14390
+ return checkAndUpdateTextDynamic(view, nodeDef, values);
14412
14391
  case 16384 /* TypeDirective */:
14413
- changed = checkAndUpdateDirectiveDynamic(view, nodeDef, values);
14414
- break;
14392
+ return checkAndUpdateDirectiveDynamic(view, nodeDef, values);
14415
14393
  case 32 /* TypePureArray */:
14416
14394
  case 64 /* TypePureObject */:
14417
14395
  case 128 /* TypePurePipe */:
14418
- changed = checkAndUpdatePureExpressionDynamic(view, nodeDef, values);
14419
- break;
14420
- }
14421
- if (changed) {
14422
- // Update oldValues after all bindings have been updated,
14423
- // as a setter for a property might update other properties.
14424
- var /** @type {?} */ bindLen = nodeDef.bindings.length;
14425
- var /** @type {?} */ bindingStart = nodeDef.bindingIndex;
14426
- var /** @type {?} */ oldValues = view.oldValues;
14427
- for (var /** @type {?} */ i = 0; i < bindLen; i++) {
14428
- oldValues[bindingStart + i] = values[i];
14429
- }
14396
+ return checkAndUpdatePureExpressionDynamic(view, nodeDef, values);
14397
+ default:
14398
+ throw 'unreachable';
14430
14399
  }
14431
- return changed;
14432
14400
  }
14433
14401
  /**
14434
14402
  * @param {?} view
@@ -14513,9 +14481,9 @@ function checkNoChangesNodeDynamic(view, nodeDef, values) {
14513
14481
  * @return {?}
14514
14482
  */
14515
14483
  function checkNoChangesQuery(view, nodeDef) {
14516
- var /** @type {?} */ queryList = asQueryList(view, nodeDef.index);
14484
+ var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex);
14517
14485
  if (queryList.dirty) {
14518
- throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, nodeDef.index), "Query " + ((nodeDef.query)).id + " not dirty", "Query " + ((nodeDef.query)).id + " dirty", (view.state & 1 /* BeforeFirstCheck */) !== 0);
14486
+ throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, nodeDef.nodeIndex), "Query " + ((nodeDef.query)).id + " not dirty", "Query " + ((nodeDef.query)).id + " dirty", (view.state & 1 /* BeforeFirstCheck */) !== 0);
14519
14487
  }
14520
14488
  }
14521
14489
  /**
@@ -14708,7 +14676,7 @@ function execQueriesAction(view, queryFlags, staticDynamicQueryFlag, checkType)
14708
14676
  for (var /** @type {?} */ i = 0; i < nodeCount; i++) {
14709
14677
  var /** @type {?} */ nodeDef = view.def.nodes[i];
14710
14678
  if ((nodeDef.flags & queryFlags) && (nodeDef.flags & staticDynamicQueryFlag)) {
14711
- Services.setCurrentNode(view, nodeDef.index);
14679
+ Services.setCurrentNode(view, nodeDef.nodeIndex);
14712
14680
  switch (checkType) {
14713
14681
  case 0 /* CheckAndUpdate */:
14714
14682
  checkAndUpdateQuery(view, nodeDef);
@@ -14929,7 +14897,7 @@ function applyProviderOverridesToView(def) {
14929
14897
  }
14930
14898
  if (lastElementDef && nodeDef.flags & 3840 /* CatProviderNoDirective */ &&
14931
14899
  providerOverrides.has(/** @type {?} */ ((nodeDef.provider)).token)) {
14932
- elIndicesWithOverwrittenProviders.push(/** @type {?} */ ((lastElementDef)).index);
14900
+ elIndicesWithOverwrittenProviders.push(/** @type {?} */ ((lastElementDef)).nodeIndex);
14933
14901
  lastElementDef = null;
14934
14902
  }
14935
14903
  }
@@ -14948,9 +14916,6 @@ function applyProviderOverridesToView(def) {
14948
14916
  return;
14949
14917
  }
14950
14918
  if (nodeDef.flags & 3840 /* CatProviderNoDirective */) {
14951
- // Make all providers lazy, so that we don't get into trouble
14952
- // with ordering problems of providers on the same element
14953
- nodeDef.flags |= 4096 /* LazyProvider */;
14954
14919
  var /** @type {?} */ provider = ((nodeDef.provider));
14955
14920
  var /** @type {?} */ override = providerOverrides.get(provider.token);
14956
14921
  if (override) {
@@ -14967,7 +14932,8 @@ function applyProviderOverridesToView(def) {
14967
14932
  * @return {?}
14968
14933
  */
14969
14934
  function applyProviderOverridesToNgModule(def) {
14970
- if (providerOverrides.size === 0 || !hasOverrrides(def)) {
14935
+ var _a = calcHasOverrides(def), hasOverrides = _a.hasOverrides, hasDeprecatedOverrides = _a.hasDeprecatedOverrides;
14936
+ if (!hasOverrides) {
14971
14937
  return def;
14972
14938
  }
14973
14939
  // clone the whole view definition,
@@ -14979,8 +14945,20 @@ function applyProviderOverridesToNgModule(def) {
14979
14945
  * @param {?} def
14980
14946
  * @return {?}
14981
14947
  */
14982
- function hasOverrrides(def) {
14983
- return def.providers.some(function (node) { return !!(node.flags & 3840 /* CatProviderNoDirective */) && providerOverrides.has(node.token); });
14948
+ function calcHasOverrides(def) {
14949
+ var /** @type {?} */ hasOverrides = false;
14950
+ var /** @type {?} */ hasDeprecatedOverrides = false;
14951
+ if (providerOverrides.size === 0) {
14952
+ return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides };
14953
+ }
14954
+ def.providers.forEach(function (node) {
14955
+ var /** @type {?} */ override = providerOverrides.get(node.token);
14956
+ if ((node.flags & 3840 /* CatProviderNoDirective */) && override) {
14957
+ hasOverrides = true;
14958
+ hasDeprecatedOverrides = hasDeprecatedOverrides || override.deprecatedBehavior;
14959
+ }
14960
+ });
14961
+ return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides };
14984
14962
  }
14985
14963
  /**
14986
14964
  * @param {?} def
@@ -14989,9 +14967,12 @@ function applyProviderOverridesToNgModule(def) {
14989
14967
  function applyProviderOverrides(def) {
14990
14968
  for (var /** @type {?} */ i = 0; i < def.providers.length; i++) {
14991
14969
  var /** @type {?} */ provider = def.providers[i];
14992
- // Make all providers lazy, so that we don't get into trouble
14993
- // with ordering problems of providers on the same element
14994
- provider.flags |= 4096 /* LazyProvider */;
14970
+ if (hasDeprecatedOverrides) {
14971
+ // We had a bug where me made
14972
+ // all providers lazy. Keep this logic behind a flag
14973
+ // for migrating existing users.
14974
+ provider.flags |= 4096 /* LazyProvider */;
14975
+ }
14995
14976
  var /** @type {?} */ override = providerOverrides.get(provider.token);
14996
14977
  if (override) {
14997
14978
  provider.flags = (provider.flags & ~3840 /* CatProviderNoDirective */) | override.flags;
@@ -15003,7 +14984,7 @@ function applyProviderOverridesToNgModule(def) {
15003
14984
  }
15004
14985
  /**
15005
14986
  * @param {?} view
15006
- * @param {?} nodeIndex
14987
+ * @param {?} checkIndex
15007
14988
  * @param {?} argStyle
15008
14989
  * @param {?=} v0
15009
14990
  * @param {?=} v1
@@ -15017,16 +14998,16 @@ function applyProviderOverridesToNgModule(def) {
15017
14998
  * @param {?=} v9
15018
14999
  * @return {?}
15019
15000
  */
15020
- function prodCheckAndUpdateNode(view, nodeIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
15021
- var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex];
15001
+ function prodCheckAndUpdateNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
15002
+ var /** @type {?} */ nodeDef = view.def.nodes[checkIndex];
15022
15003
  checkAndUpdateNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
15023
15004
  return (nodeDef.flags & 224 /* CatPureExpression */) ?
15024
- asPureExpressionData(view, nodeIndex).value :
15005
+ asPureExpressionData(view, checkIndex).value :
15025
15006
  undefined;
15026
15007
  }
15027
15008
  /**
15028
15009
  * @param {?} view
15029
- * @param {?} nodeIndex
15010
+ * @param {?} checkIndex
15030
15011
  * @param {?} argStyle
15031
15012
  * @param {?=} v0
15032
15013
  * @param {?=} v1
@@ -15040,11 +15021,11 @@ function prodCheckAndUpdateNode(view, nodeIndex, argStyle, v0, v1, v2, v3, v4, v
15040
15021
  * @param {?=} v9
15041
15022
  * @return {?}
15042
15023
  */
15043
- function prodCheckNoChangesNode(view, nodeIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
15044
- var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex];
15024
+ function prodCheckNoChangesNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
15025
+ var /** @type {?} */ nodeDef = view.def.nodes[checkIndex];
15045
15026
  checkNoChangesNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
15046
15027
  return (nodeDef.flags & 224 /* CatPureExpression */) ?
15047
- asPureExpressionData(view, nodeIndex).value :
15028
+ asPureExpressionData(view, checkIndex).value :
15048
15029
  undefined;
15049
15030
  }
15050
15031
  /**
@@ -15136,7 +15117,7 @@ function debugUpdateDirectives(view, checkType) {
15136
15117
  debugSetCurrentNode(view, nextDirectiveWithBinding(view, nodeIndex));
15137
15118
  }
15138
15119
  return (nodeDef.flags & 224 /* CatPureExpression */) ?
15139
- asPureExpressionData(view, nodeDef.index).value :
15120
+ asPureExpressionData(view, nodeDef.nodeIndex).value :
15140
15121
  undefined;
15141
15122
  }
15142
15123
  }
@@ -15174,7 +15155,7 @@ function debugUpdateRenderer(view, checkType) {
15174
15155
  debugSetCurrentNode(view, nextRenderNodeWithBinding(view, nodeIndex));
15175
15156
  }
15176
15157
  return (nodeDef.flags & 224 /* CatPureExpression */) ?
15177
- asPureExpressionData(view, nodeDef.index).value :
15158
+ asPureExpressionData(view, nodeDef.nodeIndex).value :
15178
15159
  undefined;
15179
15160
  }
15180
15161
  }
@@ -15200,7 +15181,7 @@ function debugCheckAndUpdateNode(view, nodeDef, argStyle, givenValues) {
15200
15181
  }
15201
15182
  }
15202
15183
  var /** @type {?} */ elDef = ((nodeDef.parent));
15203
- var /** @type {?} */ el = asElementData(view, elDef.index).renderElement;
15184
+ var /** @type {?} */ el = asElementData(view, elDef.nodeIndex).renderElement;
15204
15185
  if (!((elDef.element)).name) {
15205
15186
  // a comment.
15206
15187
  view.renderer.setValue(el, "bindings=" + JSON.stringify(bindingValues, null, 2));
@@ -15326,7 +15307,7 @@ var DebugContext_ = (function () {
15326
15307
  */
15327
15308
  get: function () {
15328
15309
  // Has to be done lazily as we use the DebugContext also during creation of elements...
15329
- return asElementData(this.elView, this.elDef.index).componentView || this.view;
15310
+ return asElementData(this.elView, this.elDef.nodeIndex).componentView || this.view;
15330
15311
  },
15331
15312
  enumerable: true,
15332
15313
  configurable: true
@@ -15362,7 +15343,7 @@ var DebugContext_ = (function () {
15362
15343
  get: function () {
15363
15344
  var /** @type {?} */ tokens = [];
15364
15345
  if (this.elDef) {
15365
- for (var /** @type {?} */ i = this.elDef.index + 1; i <= this.elDef.index + this.elDef.childCount; i++) {
15346
+ for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) {
15366
15347
  var /** @type {?} */ childDef = this.elView.def.nodes[i];
15367
15348
  if (childDef.flags & 20224 /* CatProvider */) {
15368
15349
  tokens.push(/** @type {?} */ ((childDef.provider)).token);
@@ -15383,7 +15364,7 @@ var DebugContext_ = (function () {
15383
15364
  var /** @type {?} */ references = {};
15384
15365
  if (this.elDef) {
15385
15366
  collectReferences(this.elView, this.elDef, references);
15386
- for (var /** @type {?} */ i = this.elDef.index + 1; i <= this.elDef.index + this.elDef.childCount; i++) {
15367
+ for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) {
15387
15368
  var /** @type {?} */ childDef = this.elView.def.nodes[i];
15388
15369
  if (childDef.flags & 20224 /* CatProvider */) {
15389
15370
  collectReferences(this.elView, childDef, references);
@@ -15432,11 +15413,11 @@ var DebugContext_ = (function () {
15432
15413
  var /** @type {?} */ logNodeIndex;
15433
15414
  if (this.nodeDef.flags & 2 /* TypeText */) {
15434
15415
  logViewDef = this.view.def;
15435
- logNodeIndex = this.nodeDef.index;
15416
+ logNodeIndex = this.nodeDef.nodeIndex;
15436
15417
  }
15437
15418
  else {
15438
15419
  logViewDef = this.elView.def;
15439
- logNodeIndex = this.elDef.index;
15420
+ logNodeIndex = this.elDef.nodeIndex;
15440
15421
  }
15441
15422
  // Note: we only generate a log function for text and element nodes
15442
15423
  // to make the generated code as small as possible.
@@ -15484,7 +15465,7 @@ function findHostElement(view) {
15484
15465
  view = ((view.parent));
15485
15466
  }
15486
15467
  if (view.parent) {
15487
- return asElementData(view.parent, /** @type {?} */ ((viewParentEl(view))).index);
15468
+ return asElementData(view.parent, /** @type {?} */ ((viewParentEl(view))).nodeIndex);
15488
15469
  }
15489
15470
  return null;
15490
15471
  }
@@ -15919,6 +15900,11 @@ var NgModuleFactory_ = (function (_super) {
15919
15900
  * the
15920
15901
  * trigger is bound to (in the form of `[\@triggerName]="expression"`.
15921
15902
  *
15903
+ * Animation trigger bindings strigify values and then match the previous and current values against
15904
+ * any linked transitions. If a boolean value is provided into the trigger binding then it will both
15905
+ * be represented as `1` or `true` and `0` or `false` for a true and false boolean values
15906
+ * respectively.
15907
+ *
15922
15908
  * ### Usage
15923
15909
  *
15924
15910
  * `trigger` will create an animation trigger reference based on the provided `name` value. The
@@ -16404,6 +16390,21 @@ function keyframes$1(steps) {
16404
16390
  * ])
16405
16391
  * ```
16406
16392
  *
16393
+ * ### Boolean values
16394
+ * if a trigger binding value is a boolean value then it can be matched using a transition
16395
+ * expression that compares `true` and `false` or `1` and `0`.
16396
+ *
16397
+ * ```
16398
+ * // in the template
16399
+ * <div [\@openClose]="open ? true : false">...</div>
16400
+ *
16401
+ * // in the component metadata
16402
+ * trigger('openClose', [
16403
+ * state('true', style({ height: '*' })),
16404
+ * state('false', style({ height: '0px' })),
16405
+ * transition('false <=> true', animate(500))
16406
+ * ])
16407
+ * ```
16407
16408
  * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
16408
16409
  *
16409
16410
  * \@experimental Animation support is experimental.
@@ -16428,7 +16429,7 @@ function transition$1(stateChangeExpr, steps, options) {
16428
16429
  * var fadeAnimation = animation([
16429
16430
  * style({ opacity: '{{ start }}' }),
16430
16431
  * animate('{{ time }}',
16431
- * style({ opacity: '{{ end }}'))
16432
+ * style({ opacity: '{{ end }}'}))
16432
16433
  * ], { params: { time: '1000ms', start: 0, end: 1 }});
16433
16434
  * ```
16434
16435
  *
@@ -17021,7 +17022,7 @@ var core_es5 = Object.freeze({
17021
17022
  });
17022
17023
 
17023
17024
  /**
17024
- * @license Angular v4.4.3
17025
+ * @license Angular v4.4.7
17025
17026
  * (c) 2010-2017 Google, Inc. https://angular.io/
17026
17027
  * License: MIT
17027
17028
  */
@@ -17040,7 +17041,7 @@ var core_es5 = Object.freeze({
17040
17041
  /**
17041
17042
  * \@stable
17042
17043
  */
17043
- var VERSION$1 = new Version('4.4.3');
17044
+ var VERSION$1 = new Version('4.4.7');
17044
17045
  /**
17045
17046
  * @license
17046
17047
  * Copyright Google Inc. All Rights Reserved.
@@ -18792,145 +18793,6 @@ function utf8Encode(str) {
18792
18793
  // group 2: "event" from "(event)"
18793
18794
  // group 3: "@trigger" from "@trigger"
18794
18795
  var HOST_REG_EXP = /^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;
18795
- var CompileAnimationEntryMetadata = (function () {
18796
- /**
18797
- * @param {?=} name
18798
- * @param {?=} definitions
18799
- */
18800
- function CompileAnimationEntryMetadata(name, definitions) {
18801
- if (name === void 0) { name = null; }
18802
- if (definitions === void 0) { definitions = null; }
18803
- this.name = name;
18804
- this.definitions = definitions;
18805
- }
18806
- return CompileAnimationEntryMetadata;
18807
- }());
18808
- /**
18809
- * @abstract
18810
- */
18811
- var CompileAnimationStateMetadata = (function () {
18812
- function CompileAnimationStateMetadata() {
18813
- }
18814
- return CompileAnimationStateMetadata;
18815
- }());
18816
- var CompileAnimationStateDeclarationMetadata = (function (_super) {
18817
- __extends$1$1(CompileAnimationStateDeclarationMetadata, _super);
18818
- /**
18819
- * @param {?} stateNameExpr
18820
- * @param {?} styles
18821
- */
18822
- function CompileAnimationStateDeclarationMetadata(stateNameExpr, styles) {
18823
- var _this = _super.call(this) || this;
18824
- _this.stateNameExpr = stateNameExpr;
18825
- _this.styles = styles;
18826
- return _this;
18827
- }
18828
- return CompileAnimationStateDeclarationMetadata;
18829
- }(CompileAnimationStateMetadata));
18830
- var CompileAnimationStateTransitionMetadata = (function (_super) {
18831
- __extends$1$1(CompileAnimationStateTransitionMetadata, _super);
18832
- /**
18833
- * @param {?} stateChangeExpr
18834
- * @param {?} steps
18835
- */
18836
- function CompileAnimationStateTransitionMetadata(stateChangeExpr, steps) {
18837
- var _this = _super.call(this) || this;
18838
- _this.stateChangeExpr = stateChangeExpr;
18839
- _this.steps = steps;
18840
- return _this;
18841
- }
18842
- return CompileAnimationStateTransitionMetadata;
18843
- }(CompileAnimationStateMetadata));
18844
- /**
18845
- * @abstract
18846
- */
18847
- var CompileAnimationMetadata = (function () {
18848
- function CompileAnimationMetadata() {
18849
- }
18850
- return CompileAnimationMetadata;
18851
- }());
18852
- var CompileAnimationKeyframesSequenceMetadata = (function (_super) {
18853
- __extends$1$1(CompileAnimationKeyframesSequenceMetadata, _super);
18854
- /**
18855
- * @param {?=} steps
18856
- */
18857
- function CompileAnimationKeyframesSequenceMetadata(steps) {
18858
- if (steps === void 0) { steps = []; }
18859
- var _this = _super.call(this) || this;
18860
- _this.steps = steps;
18861
- return _this;
18862
- }
18863
- return CompileAnimationKeyframesSequenceMetadata;
18864
- }(CompileAnimationMetadata));
18865
- var CompileAnimationStyleMetadata = (function (_super) {
18866
- __extends$1$1(CompileAnimationStyleMetadata, _super);
18867
- /**
18868
- * @param {?} offset
18869
- * @param {?=} styles
18870
- */
18871
- function CompileAnimationStyleMetadata(offset, styles) {
18872
- if (styles === void 0) { styles = null; }
18873
- var _this = _super.call(this) || this;
18874
- _this.offset = offset;
18875
- _this.styles = styles;
18876
- return _this;
18877
- }
18878
- return CompileAnimationStyleMetadata;
18879
- }(CompileAnimationMetadata));
18880
- var CompileAnimationAnimateMetadata = (function (_super) {
18881
- __extends$1$1(CompileAnimationAnimateMetadata, _super);
18882
- /**
18883
- * @param {?=} timings
18884
- * @param {?=} styles
18885
- */
18886
- function CompileAnimationAnimateMetadata(timings, styles) {
18887
- if (timings === void 0) { timings = 0; }
18888
- if (styles === void 0) { styles = null; }
18889
- var _this = _super.call(this) || this;
18890
- _this.timings = timings;
18891
- _this.styles = styles;
18892
- return _this;
18893
- }
18894
- return CompileAnimationAnimateMetadata;
18895
- }(CompileAnimationMetadata));
18896
- /**
18897
- * @abstract
18898
- */
18899
- var CompileAnimationWithStepsMetadata = (function (_super) {
18900
- __extends$1$1(CompileAnimationWithStepsMetadata, _super);
18901
- /**
18902
- * @param {?=} steps
18903
- */
18904
- function CompileAnimationWithStepsMetadata(steps) {
18905
- if (steps === void 0) { steps = null; }
18906
- var _this = _super.call(this) || this;
18907
- _this.steps = steps;
18908
- return _this;
18909
- }
18910
- return CompileAnimationWithStepsMetadata;
18911
- }(CompileAnimationMetadata));
18912
- var CompileAnimationSequenceMetadata = (function (_super) {
18913
- __extends$1$1(CompileAnimationSequenceMetadata, _super);
18914
- /**
18915
- * @param {?=} steps
18916
- */
18917
- function CompileAnimationSequenceMetadata(steps) {
18918
- if (steps === void 0) { steps = null; }
18919
- return _super.call(this, steps) || this;
18920
- }
18921
- return CompileAnimationSequenceMetadata;
18922
- }(CompileAnimationWithStepsMetadata));
18923
- var CompileAnimationGroupMetadata = (function (_super) {
18924
- __extends$1$1(CompileAnimationGroupMetadata, _super);
18925
- /**
18926
- * @param {?=} steps
18927
- */
18928
- function CompileAnimationGroupMetadata(steps) {
18929
- if (steps === void 0) { steps = null; }
18930
- return _super.call(this, steps) || this;
18931
- }
18932
- return CompileAnimationGroupMetadata;
18933
- }(CompileAnimationWithStepsMetadata));
18934
18796
  /**
18935
18797
  * @param {?} name
18936
18798
  * @return {?}
@@ -19078,7 +18940,6 @@ var CompileTemplateMetadata = (function () {
19078
18940
  */
19079
18941
  CompileTemplateMetadata.prototype.toSummary = function () {
19080
18942
  return {
19081
- animations: this.animations.map(function (anim) { return anim.name; }),
19082
18943
  ngContentSelectors: this.ngContentSelectors,
19083
18944
  encapsulation: this.encapsulation,
19084
18945
  };
@@ -21011,7 +20872,6 @@ var InterpolationConfig = (function () {
21011
20872
  assertInterpolationSymbols('interpolation', markers);
21012
20873
  return new InterpolationConfig(markers[0], markers[1]);
21013
20874
  };
21014
-
21015
20875
  return InterpolationConfig;
21016
20876
  }());
21017
20877
  var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');
@@ -25211,7 +25071,6 @@ var RecurseVisitor = (function () {
25211
25071
  * @return {?}
25212
25072
  */
25213
25073
  RecurseVisitor.prototype.visitText = function (text, context) { };
25214
-
25215
25074
  /**
25216
25075
  * @param {?} container
25217
25076
  * @param {?=} context
@@ -25245,14 +25104,12 @@ var RecurseVisitor = (function () {
25245
25104
  * @return {?}
25246
25105
  */
25247
25106
  RecurseVisitor.prototype.visitPlaceholder = function (ph, context) { };
25248
-
25249
25107
  /**
25250
25108
  * @param {?} ph
25251
25109
  * @param {?=} context
25252
25110
  * @return {?}
25253
25111
  */
25254
25112
  RecurseVisitor.prototype.visitIcuPlaceholder = function (ph, context) { };
25255
-
25256
25113
  return RecurseVisitor;
25257
25114
  }());
25258
25115
  /**
@@ -26359,7 +26216,6 @@ var Doctype = (function () {
26359
26216
  this.rootTag = rootTag;
26360
26217
  this.dtd = dtd;
26361
26218
  }
26362
-
26363
26219
  /**
26364
26220
  * @param {?} visitor
26365
26221
  * @return {?}
@@ -26398,7 +26254,6 @@ var Text$2 = (function () {
26398
26254
  function Text$2(unescapedValue) {
26399
26255
  this.value = _escapeXml(unescapedValue);
26400
26256
  }
26401
-
26402
26257
  /**
26403
26258
  * @param {?} visitor
26404
26259
  * @return {?}
@@ -28193,6 +28048,11 @@ function createTokenForExternalReference(reflector, reference) {
28193
28048
  */
28194
28049
  var PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';
28195
28050
  var SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);
28051
+ // Equivalent to \s with \u00a0 (non-breaking space) excluded.
28052
+ // Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
28053
+ var WS_CHARS = ' \f\n\r\t\v\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff';
28054
+ var NO_WS_REGEXP = new RegExp("[^" + WS_CHARS + "]");
28055
+ var WS_REPLACE_REGEXP = new RegExp("[" + WS_CHARS + "]{2,}", 'g');
28196
28056
  /**
28197
28057
  * @param {?} attrs
28198
28058
  * @return {?}
@@ -28256,9 +28116,9 @@ var WhitespaceVisitor = (function () {
28256
28116
  * @return {?}
28257
28117
  */
28258
28118
  WhitespaceVisitor.prototype.visitText = function (text, context) {
28259
- var /** @type {?} */ isBlank = text.value.trim().length === 0;
28260
- if (!isBlank) {
28261
- return new Text(replaceNgsp(text.value).replace(/\s\s+/g, ' '), text.sourceSpan);
28119
+ var /** @type {?} */ isNotBlank = text.value.match(NO_WS_REGEXP);
28120
+ if (isNotBlank) {
28121
+ return new Text(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan);
28262
28122
  }
28263
28123
  return null;
28264
28124
  };
@@ -32022,7 +31882,6 @@ var JitSummaryResolver = (function () {
32022
31882
  * @return {?}
32023
31883
  */
32024
31884
  JitSummaryResolver.prototype.isLibraryFile = function (fileName) { return false; };
32025
-
32026
31885
  /**
32027
31886
  * @param {?} fileName
32028
31887
  * @return {?}
@@ -32035,7 +31894,6 @@ var JitSummaryResolver = (function () {
32035
31894
  JitSummaryResolver.prototype.resolveSummary = function (reference) {
32036
31895
  return this._summaries.get(reference) || null;
32037
31896
  };
32038
-
32039
31897
  /**
32040
31898
  * @param {?} filePath
32041
31899
  * @return {?}
@@ -32051,7 +31909,6 @@ var JitSummaryResolver = (function () {
32051
31909
  * @return {?}
32052
31910
  */
32053
31911
  JitSummaryResolver.prototype.addSummary = function (summary) { this._summaries.set(summary.symbol, summary); };
32054
-
32055
31912
  return JitSummaryResolver;
32056
31913
  }());
32057
31914
  JitSummaryResolver.decorators = [
@@ -36126,7 +35983,7 @@ var EmitterVisitorContext = (function () {
36126
35983
  EmitterVisitorContext.prototype.spanOf = function (line, column) {
36127
35984
  var /** @type {?} */ emittedLine = this._lines[line - this._preambleLineCount];
36128
35985
  if (emittedLine) {
36129
- var /** @type {?} */ columnsLeft = column - emittedLine.indent;
35986
+ var /** @type {?} */ columnsLeft = column - _createIndent(emittedLine.indent).length;
36130
35987
  for (var /** @type {?} */ partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {
36131
35988
  var /** @type {?} */ part = emittedLine.parts[partIndex];
36132
35989
  if (part.length > columnsLeft) {
@@ -38066,7 +37923,6 @@ var SafeSelector = (function () {
38066
37923
  return pseudo + replaceBy;
38067
37924
  });
38068
37925
  }
38069
-
38070
37926
  /**
38071
37927
  * @param {?} content
38072
37928
  * @return {?}
@@ -39327,14 +39183,10 @@ var ViewCompileResult = (function () {
39327
39183
  }());
39328
39184
  var ViewCompiler = (function () {
39329
39185
  /**
39330
- * @param {?} _config
39331
39186
  * @param {?} _reflector
39332
- * @param {?} _schemaRegistry
39333
39187
  */
39334
- function ViewCompiler(_config, _reflector, _schemaRegistry) {
39335
- this._config = _config;
39188
+ function ViewCompiler(_reflector) {
39336
39189
  this._reflector = _reflector;
39337
- this._schemaRegistry = _schemaRegistry;
39338
39190
  }
39339
39191
  /**
39340
39192
  * @param {?} outputCtx
@@ -39384,9 +39236,7 @@ ViewCompiler.decorators = [
39384
39236
  * @nocollapse
39385
39237
  */
39386
39238
  ViewCompiler.ctorParameters = function () { return [
39387
- { type: CompilerConfig, },
39388
39239
  { type: CompileReflector, },
39389
- { type: ElementSchemaRegistry, },
39390
39240
  ]; };
39391
39241
  var LOG_VAR$1 = variable('_l');
39392
39242
  var VIEW_VAR = variable('_v');
@@ -39546,12 +39396,15 @@ var ViewBuilder = (function () {
39546
39396
  * @return {?}
39547
39397
  */
39548
39398
  ViewBuilder.prototype.visitText = function (ast, context) {
39549
- // textDef(ngContentIndex: number, constants: string[]): NodeDef;
39399
+ // Static text nodes have no check function
39400
+ var /** @type {?} */ checkIndex = -1;
39550
39401
  this.nodes.push(function () { return ({
39551
39402
  sourceSpan: ast.sourceSpan,
39552
39403
  nodeFlags: 2 /* TypeText */,
39553
39404
  nodeDef: importExpr(Identifiers.textDef).callFn([
39554
- literal(ast.ngContentIndex), literalArr([literal(ast.value)])
39405
+ literal(checkIndex),
39406
+ literal(ast.ngContentIndex),
39407
+ literalArr([literal(ast.value)]),
39555
39408
  ])
39556
39409
  }); });
39557
39410
  };
@@ -39568,12 +39421,16 @@ var ViewBuilder = (function () {
39568
39421
  var /** @type {?} */ astWithSource = (ast.value);
39569
39422
  var /** @type {?} */ inter = (astWithSource.ast);
39570
39423
  var /** @type {?} */ updateRendererExpressions = inter.expressions.map(function (expr, bindingIndex) { return _this._preprocessUpdateExpression({ nodeIndex: nodeIndex, bindingIndex: bindingIndex, sourceSpan: ast.sourceSpan, context: COMP_VAR, value: expr }); });
39571
- // textDef(ngContentIndex: number, constants: string[]): NodeDef;
39424
+ // Check index is the same as the node index during compilation
39425
+ // They might only differ at runtime
39426
+ var /** @type {?} */ checkIndex = nodeIndex;
39572
39427
  this.nodes[nodeIndex] = function () { return ({
39573
39428
  sourceSpan: ast.sourceSpan,
39574
39429
  nodeFlags: 2 /* TypeText */,
39575
39430
  nodeDef: importExpr(Identifiers.textDef).callFn([
39576
- literal(ast.ngContentIndex), literalArr(inter.strings.map(function (s) { return literal(s); }))
39431
+ literal(checkIndex),
39432
+ literal(ast.ngContentIndex),
39433
+ literalArr(inter.strings.map(function (s) { return literal(s); })),
39577
39434
  ]),
39578
39435
  updateRenderer: updateRendererExpressions
39579
39436
  }); };
@@ -39659,18 +39516,14 @@ var ViewBuilder = (function () {
39659
39516
  compView = this.outputCtx.importExpr(compAst.directive.componentViewType);
39660
39517
  compRendererType = this.outputCtx.importExpr(compAst.directive.rendererType);
39661
39518
  }
39662
- // elementDef(
39663
- // flags: NodeFlags, matchedQueriesDsl: [string | number, QueryValueType][],
39664
- // ngContentIndex: number, childCount: number, namespaceAndName: string,
39665
- // fixedAttrs: [string, string][] = [],
39666
- // bindings?: [BindingFlags, string, string | SecurityContext][],
39667
- // outputs?: ([OutputType.ElementOutput | OutputType.DirectiveHostOutput, string, string])[],
39668
- // handleEvent?: ElementHandleEventFn,
39669
- // componentView?: () => ViewDefinition, componentRendererType?: RendererType2): NodeDef;
39519
+ // Check index is the same as the node index during compilation
39520
+ // They might only differ at runtime
39521
+ var /** @type {?} */ checkIndex = nodeIndex;
39670
39522
  this.nodes[nodeIndex] = function () { return ({
39671
39523
  sourceSpan: ast.sourceSpan,
39672
39524
  nodeFlags: 1 /* TypeElement */ | flags,
39673
39525
  nodeDef: importExpr(Identifiers.elementDef).callFn([
39526
+ literal(checkIndex),
39674
39527
  literal(flags),
39675
39528
  queryMatchesExpr,
39676
39529
  literal(ast.ngContentIndex),
@@ -39852,19 +39705,21 @@ var ViewBuilder = (function () {
39852
39705
  context: dirContextExpr,
39853
39706
  eventAst: hostEventAst, dirAst: dirAst,
39854
39707
  }); });
39855
- // directiveDef(
39856
- // flags: NodeFlags, matchedQueries: [string, QueryValueType][], childCount: number, ctor:
39857
- // any,
39858
- // deps: ([DepFlags, any] | any)[], props?: {[name: string]: [number, string]},
39859
- // outputs?: {[name: string]: string}, component?: () => ViewDefinition): NodeDef;
39708
+ // Check index is the same as the node index during compilation
39709
+ // They might only differ at runtime
39710
+ var /** @type {?} */ checkIndex = nodeIndex;
39860
39711
  this.nodes[nodeIndex] = function () { return ({
39861
39712
  sourceSpan: dirAst.sourceSpan,
39862
39713
  nodeFlags: 16384 /* TypeDirective */ | flags,
39863
39714
  nodeDef: importExpr(Identifiers.directiveDef).callFn([
39864
- literal(flags), queryMatchExprs.length ? literalArr(queryMatchExprs) : NULL_EXPR,
39865
- literal(childCount), providerExpr, depsExpr,
39715
+ literal(checkIndex),
39716
+ literal(flags),
39717
+ queryMatchExprs.length ? literalArr(queryMatchExprs) : NULL_EXPR,
39718
+ literal(childCount),
39719
+ providerExpr,
39720
+ depsExpr,
39866
39721
  inputDefs.length ? new LiteralMapExpr(inputDefs) : NULL_EXPR,
39867
- outputDefs.length ? new LiteralMapExpr(outputDefs) : NULL_EXPR
39722
+ outputDefs.length ? new LiteralMapExpr(outputDefs) : NULL_EXPR,
39868
39723
  ]),
39869
39724
  updateDirectives: updateDirectiveExpressions,
39870
39725
  directive: dirAst.directive.type,
@@ -39969,39 +39824,43 @@ var ViewBuilder = (function () {
39969
39824
  * @param {?} argCount
39970
39825
  * @return {?}
39971
39826
  */
39972
- ViewBuilder.prototype.createLiteralArrayConverter = function (sourceSpan, argCount) {
39827
+ ViewBuilder.prototype._createLiteralArrayConverter = function (sourceSpan, argCount) {
39973
39828
  if (argCount === 0) {
39974
39829
  var /** @type {?} */ valueExpr_1 = importExpr(Identifiers.EMPTY_ARRAY);
39975
39830
  return function () { return valueExpr_1; };
39976
39831
  }
39977
- var /** @type {?} */ nodeIndex = this.nodes.length;
39978
- // pureArrayDef(argCount: number): NodeDef;
39832
+ var /** @type {?} */ checkIndex = this.nodes.length;
39979
39833
  this.nodes.push(function () { return ({
39980
39834
  sourceSpan: sourceSpan,
39981
39835
  nodeFlags: 32 /* TypePureArray */,
39982
- nodeDef: importExpr(Identifiers.pureArrayDef).callFn([literal(argCount)])
39836
+ nodeDef: importExpr(Identifiers.pureArrayDef).callFn([
39837
+ literal(checkIndex),
39838
+ literal(argCount),
39839
+ ])
39983
39840
  }); });
39984
- return function (args) { return callCheckStmt(nodeIndex, args); };
39841
+ return function (args) { return callCheckStmt(checkIndex, args); };
39985
39842
  };
39986
39843
  /**
39987
39844
  * @param {?} sourceSpan
39988
39845
  * @param {?} keys
39989
39846
  * @return {?}
39990
39847
  */
39991
- ViewBuilder.prototype.createLiteralMapConverter = function (sourceSpan, keys) {
39848
+ ViewBuilder.prototype._createLiteralMapConverter = function (sourceSpan, keys) {
39992
39849
  if (keys.length === 0) {
39993
39850
  var /** @type {?} */ valueExpr_2 = importExpr(Identifiers.EMPTY_MAP);
39994
39851
  return function () { return valueExpr_2; };
39995
39852
  }
39996
- // function pureObjectDef(propToIndex: {[p: string]: number}): NodeDef
39997
39853
  var /** @type {?} */ map = literalMap(keys.map(function (e, i) { return (Object.assign({}, e, { value: literal(i) })); }));
39998
- var /** @type {?} */ nodeIndex = this.nodes.length;
39854
+ var /** @type {?} */ checkIndex = this.nodes.length;
39999
39855
  this.nodes.push(function () { return ({
40000
39856
  sourceSpan: sourceSpan,
40001
39857
  nodeFlags: 64 /* TypePureObject */,
40002
- nodeDef: importExpr(Identifiers.pureObjectDef).callFn([map])
39858
+ nodeDef: importExpr(Identifiers.pureObjectDef).callFn([
39859
+ literal(checkIndex),
39860
+ map,
39861
+ ])
40003
39862
  }); });
40004
- return function (args) { return callCheckStmt(nodeIndex, args); };
39863
+ return function (args) { return callCheckStmt(checkIndex, args); };
40005
39864
  };
40006
39865
  /**
40007
39866
  * @param {?} expression
@@ -40009,15 +39868,17 @@ var ViewBuilder = (function () {
40009
39868
  * @param {?} argCount
40010
39869
  * @return {?}
40011
39870
  */
40012
- ViewBuilder.prototype.createPipeConverter = function (expression, name, argCount) {
39871
+ ViewBuilder.prototype._createPipeConverter = function (expression, name, argCount) {
40013
39872
  var /** @type {?} */ pipe = ((this.usedPipes.find(function (pipeSummary) { return pipeSummary.name === name; })));
40014
39873
  if (pipe.pure) {
40015
- var /** @type {?} */ nodeIndex_1 = this.nodes.length;
40016
- // function purePipeDef(argCount: number): NodeDef;
39874
+ var /** @type {?} */ checkIndex_1 = this.nodes.length;
40017
39875
  this.nodes.push(function () { return ({
40018
39876
  sourceSpan: expression.sourceSpan,
40019
39877
  nodeFlags: 128 /* TypePurePipe */,
40020
- nodeDef: importExpr(Identifiers.purePipeDef).callFn([literal(argCount)])
39878
+ nodeDef: importExpr(Identifiers.purePipeDef).callFn([
39879
+ literal(checkIndex_1),
39880
+ literal(argCount),
39881
+ ])
40021
39882
  }); });
40022
39883
  // find underlying pipe in the component view
40023
39884
  var /** @type {?} */ compViewExpr = VIEW_VAR;
@@ -40028,7 +39889,7 @@ var ViewBuilder = (function () {
40028
39889
  }
40029
39890
  var /** @type {?} */ pipeNodeIndex = compBuilder.purePipeNodeIndices[name];
40030
39891
  var /** @type {?} */ pipeValueExpr_1 = importExpr(Identifiers.nodeValue).callFn([compViewExpr, literal(pipeNodeIndex)]);
40031
- return function (args) { return callUnwrapValue(expression.nodeIndex, expression.bindingIndex, callCheckStmt(nodeIndex_1, [pipeValueExpr_1].concat(args))); };
39892
+ return function (args) { return callUnwrapValue(expression.nodeIndex, expression.bindingIndex, callCheckStmt(checkIndex_1, [pipeValueExpr_1].concat(args))); };
40032
39893
  }
40033
39894
  else {
40034
39895
  var /** @type {?} */ nodeIndex = this._createPipe(expression.sourceSpan, pipe);
@@ -40064,6 +39925,11 @@ var ViewBuilder = (function () {
40064
39925
  return nodeIndex;
40065
39926
  };
40066
39927
  /**
39928
+ * For the AST in `UpdateExpression.value`:
39929
+ * - create nodes for pipes, literal arrays and, literal maps,
39930
+ * - update the AST to replace pipes, literal arrays and, literal maps with calls to check fn.
39931
+ *
39932
+ * WARNING: This might create new nodeDefs (for pipes and literal arrays and literal maps)!
40067
39933
  * @param {?} expression
40068
39934
  * @return {?}
40069
39935
  */
@@ -40075,9 +39941,9 @@ var ViewBuilder = (function () {
40075
39941
  sourceSpan: expression.sourceSpan,
40076
39942
  context: expression.context,
40077
39943
  value: convertPropertyBindingBuiltins({
40078
- createLiteralArrayConverter: function (argCount) { return _this.createLiteralArrayConverter(expression.sourceSpan, argCount); },
40079
- createLiteralMapConverter: function (keys) { return _this.createLiteralMapConverter(expression.sourceSpan, keys); },
40080
- createPipeConverter: function (name, argCount) { return _this.createPipeConverter(expression, name, argCount); }
39944
+ createLiteralArrayConverter: function (argCount) { return _this._createLiteralArrayConverter(expression.sourceSpan, argCount); },
39945
+ createLiteralMapConverter: function (keys) { return _this._createLiteralMapConverter(expression.sourceSpan, keys); },
39946
+ createPipeConverter: function (name, argCount) { return _this._createPipeConverter(expression, name, argCount); }
40081
39947
  }, expression.value)
40082
39948
  };
40083
39949
  };
@@ -41880,7 +41746,9 @@ var StaticReflector = (function () {
41880
41746
  var item = _a[_i];
41881
41747
  // Check for a spread expression
41882
41748
  if (item && item.__symbolic === 'spread') {
41883
- var /** @type {?} */ spreadArray = simplify(item.expression);
41749
+ // We call with references as 0 because we require the actual value and cannot
41750
+ // tolerate a reference here.
41751
+ var /** @type {?} */ spreadArray = simplifyInContext(context, item.expression, depth, 0);
41884
41752
  if (Array.isArray(spreadArray)) {
41885
41753
  for (var _b = 0, spreadArray_1 = spreadArray; _b < spreadArray_1.length; _b++) {
41886
41754
  var spreadItem = spreadArray_1[_b];
@@ -41900,13 +41768,14 @@ var StaticReflector = (function () {
41900
41768
  if (expression instanceof StaticSymbol) {
41901
41769
  // Stop simplification at builtin symbols or if we are in a reference context
41902
41770
  if (expression === self.injectionToken || expression === self.opaqueToken ||
41903
- self.conversionMap.has(expression) || references > 0) {
41771
+ self.conversionMap.has(expression) ||
41772
+ (references > 0 && !expression.members.length)) {
41904
41773
  return expression;
41905
41774
  }
41906
41775
  else {
41907
41776
  var /** @type {?} */ staticSymbol = expression;
41908
41777
  var /** @type {?} */ declarationValue = resolveReferenceValue(staticSymbol);
41909
- if (declarationValue) {
41778
+ if (declarationValue != null) {
41910
41779
  return simplifyInContext(staticSymbol, declarationValue, depth + 1, references);
41911
41780
  }
41912
41781
  else {
@@ -41988,8 +41857,8 @@ var StaticReflector = (function () {
41988
41857
  }
41989
41858
  return null;
41990
41859
  case 'index':
41991
- var /** @type {?} */ indexTarget = simplify(expression['expression']);
41992
- var /** @type {?} */ index = simplify(expression['index']);
41860
+ var /** @type {?} */ indexTarget = simplifyInContext(context, expression['expression'], depth, 0);
41861
+ var /** @type {?} */ index = simplifyInContext(context, expression['index'], depth, 0);
41993
41862
  if (indexTarget && isPrimitive(index))
41994
41863
  return indexTarget[index];
41995
41864
  return null;
@@ -42002,7 +41871,7 @@ var StaticReflector = (function () {
42002
41871
  selectContext =
42003
41872
  self.getStaticSymbol(selectTarget.filePath, selectTarget.name, members);
42004
41873
  var /** @type {?} */ declarationValue = resolveReferenceValue(selectContext);
42005
- if (declarationValue) {
41874
+ if (declarationValue != null) {
42006
41875
  return simplifyInContext(selectContext, declarationValue, depth + 1, references);
42007
41876
  }
42008
41877
  else {
@@ -42908,7 +42777,7 @@ function createAotCompiler(compilerHost, options) {
42908
42777
  var /** @type {?} */ tmplParser = new TemplateParser(config, staticReflector, expressionParser, elementSchemaRegistry, htmlParser, console, []);
42909
42778
  var /** @type {?} */ resolver = new CompileMetadataResolver(config, new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), summaryResolver, elementSchemaRegistry, normalizer, console, symbolCache, staticReflector);
42910
42779
  // TODO(vicb): do not pass options.i18nFormat here
42911
- var /** @type {?} */ viewCompiler = new ViewCompiler(config, staticReflector, elementSchemaRegistry);
42780
+ var /** @type {?} */ viewCompiler = new ViewCompiler(staticReflector);
42912
42781
  var /** @type {?} */ compiler = new AotCompiler(config, compilerHost, staticReflector, resolver, tmplParser, new StyleCompiler(urlResolver), viewCompiler, new NgModuleCompiler(staticReflector), new TypeScriptEmitter(), summaryResolver, options.locale || null, options.i18nFormat || null, options.enableSummariesForJit || null, symbolResolver);
42913
42782
  return { compiler: compiler, reflector: staticReflector };
42914
42783
  }
@@ -44857,17 +44726,6 @@ var compiler_es5 = Object.freeze({
44857
44726
  NullTemplateVisitor: NullTemplateVisitor,
44858
44727
  RecursiveTemplateAstVisitor: RecursiveTemplateAstVisitor,
44859
44728
  templateVisitAll: templateVisitAll,
44860
- CompileAnimationEntryMetadata: CompileAnimationEntryMetadata,
44861
- CompileAnimationStateMetadata: CompileAnimationStateMetadata,
44862
- CompileAnimationStateDeclarationMetadata: CompileAnimationStateDeclarationMetadata,
44863
- CompileAnimationStateTransitionMetadata: CompileAnimationStateTransitionMetadata,
44864
- CompileAnimationMetadata: CompileAnimationMetadata,
44865
- CompileAnimationKeyframesSequenceMetadata: CompileAnimationKeyframesSequenceMetadata,
44866
- CompileAnimationStyleMetadata: CompileAnimationStyleMetadata,
44867
- CompileAnimationAnimateMetadata: CompileAnimationAnimateMetadata,
44868
- CompileAnimationWithStepsMetadata: CompileAnimationWithStepsMetadata,
44869
- CompileAnimationSequenceMetadata: CompileAnimationSequenceMetadata,
44870
- CompileAnimationGroupMetadata: CompileAnimationGroupMetadata,
44871
44729
  identifierName: identifierName,
44872
44730
  identifierModuleUrl: identifierModuleUrl,
44873
44731
  viewClassName: viewClassName,
@@ -46143,7 +46001,9 @@ var MetadataCollector = (function () {
46143
46001
  }
46144
46002
  });
46145
46003
  var isExportedIdentifier = function (identifier) { return exportMap.has(identifier.text); };
46146
- var isExported = function (node) { return isExport(node) || isExportedIdentifier(node.name); };
46004
+ var isExported = function (node) {
46005
+ return isExport(node) || isExportedIdentifier(node.name);
46006
+ };
46147
46007
  var exportedIdentifierName = function (identifier) {
46148
46008
  return exportMap.get(identifier.text) || identifier.text;
46149
46009
  };
@@ -46231,6 +46091,17 @@ var MetadataCollector = (function () {
46231
46091
  }
46232
46092
  // Otherwise don't record metadata for the class.
46233
46093
  break;
46094
+ case ts.SyntaxKind.TypeAliasDeclaration:
46095
+ var typeDeclaration = node;
46096
+ if (typeDeclaration.name && isExported(typeDeclaration)) {
46097
+ var name_4 = exportedName(typeDeclaration);
46098
+ if (name_4) {
46099
+ if (!metadata)
46100
+ metadata = {};
46101
+ metadata[name_4] = { __symbolic: 'interface' };
46102
+ }
46103
+ }
46104
+ break;
46234
46105
  case ts.SyntaxKind.InterfaceDeclaration:
46235
46106
  var interfaceDeclaration = node;
46236
46107
  if (interfaceDeclaration.name && isExported(interfaceDeclaration)) {
@@ -46246,9 +46117,9 @@ var MetadataCollector = (function () {
46246
46117
  if (isExported(functionDeclaration) && functionDeclaration.name) {
46247
46118
  if (!metadata)
46248
46119
  metadata = {};
46249
- var name_4 = exportedName(functionDeclaration);
46120
+ var name_5 = exportedName(functionDeclaration);
46250
46121
  var maybeFunc = maybeGetSimpleFunction(functionDeclaration);
46251
- metadata[name_4] =
46122
+ metadata[name_5] =
46252
46123
  maybeFunc ? recordEntry(maybeFunc.func, node) : { __symbolic: 'function' };
46253
46124
  }
46254
46125
  break;
@@ -46268,23 +46139,23 @@ var MetadataCollector = (function () {
46268
46139
  else {
46269
46140
  enumValue = evaluator$$1.evaluateNode(member.initializer);
46270
46141
  }
46271
- var name_5 = undefined;
46142
+ var name_6 = undefined;
46272
46143
  if (member.name.kind == ts.SyntaxKind.Identifier) {
46273
46144
  var identifier = member.name;
46274
- name_5 = identifier.text;
46275
- enumValueHolder[name_5] = enumValue;
46145
+ name_6 = identifier.text;
46146
+ enumValueHolder[name_6] = enumValue;
46276
46147
  writtenMembers++;
46277
46148
  }
46278
46149
  if (typeof enumValue === 'number') {
46279
46150
  nextDefaultValue = enumValue + 1;
46280
46151
  }
46281
- else if (name_5) {
46152
+ else if (name_6) {
46282
46153
  nextDefaultValue = {
46283
46154
  __symbolic: 'binary',
46284
46155
  operator: '+',
46285
46156
  left: {
46286
46157
  __symbolic: 'select',
46287
- expression: recordEntry({ __symbolic: 'reference', name: enumName }, node), name: name_5
46158
+ expression: recordEntry({ __symbolic: 'reference', name: enumName }, node), name: name_6
46288
46159
  }
46289
46160
  };
46290
46161
  }
@@ -46345,13 +46216,13 @@ var MetadataCollector = (function () {
46345
46216
  var report_1 = function (nameNode) {
46346
46217
  switch (nameNode.kind) {
46347
46218
  case ts.SyntaxKind.Identifier:
46348
- var name_6 = nameNode;
46349
- var varValue = errorSym('Destructuring not supported', name_6);
46350
- locals.define(name_6.text, varValue);
46219
+ var name_7 = nameNode;
46220
+ var varValue = errorSym('Destructuring not supported', name_7);
46221
+ locals.define(name_7.text, varValue);
46351
46222
  if (isExport(node)) {
46352
46223
  if (!metadata)
46353
46224
  metadata = {};
46354
- metadata[name_6.text] = varValue;
46225
+ metadata[name_7.text] = varValue;
46355
46226
  }
46356
46227
  break;
46357
46228
  case ts.SyntaxKind.BindingElement:
@@ -46553,9 +46424,9 @@ function namesOf(parameters) {
46553
46424
  var bindingPattern = name;
46554
46425
  for (var _i = 0, _a = bindingPattern.elements; _i < _a.length; _i++) {
46555
46426
  var element = _a[_i];
46556
- var name_7 = element.name;
46557
- if (name_7) {
46558
- addNamesOf(name_7);
46427
+ var name_8 = element.name;
46428
+ if (name_8) {
46429
+ addNamesOf(name_8);
46559
46430
  }
46560
46431
  }
46561
46432
  }
@@ -46684,7 +46555,6 @@ var CompilerHost = (function () {
46684
46555
  }
46685
46556
  return result;
46686
46557
  };
46687
-
46688
46558
  /**
46689
46559
  * We want a moduleId that will appear in import statements in the generated code.
46690
46560
  * These need to be in a form that system.js can load, so absolute file paths don't work.
@@ -47387,7 +47257,7 @@ var core_1 = require$$0$13;
47387
47257
  /**
47388
47258
  * @stable
47389
47259
  */
47390
- exports.VERSION = new core_1.Version('4.4.3');
47260
+ exports.VERSION = new core_1.Version('4.4.7');
47391
47261
 
47392
47262
  });
47393
47263
 
@@ -49543,7 +49413,9 @@ var TypeCheckingHost = (function () {
49543
49413
  TypeCheckingHost.prototype.getDefaultLibFileName = function (options) {
49544
49414
  return this.host.getDefaultLibFileName(options);
49545
49415
  };
49546
- TypeCheckingHost.prototype.getCurrentDirectory = function () { return this.host.getCurrentDirectory(); };
49416
+ TypeCheckingHost.prototype.getCurrentDirectory = function () {
49417
+ return this.host.getCurrentDirectory();
49418
+ };
49547
49419
  TypeCheckingHost.prototype.getDirectories = function (path) { return this.host.getDirectories(path); };
49548
49420
  TypeCheckingHost.prototype.getCanonicalFileName = function (fileName) {
49549
49421
  return this.host.getCanonicalFileName(fileName);
@@ -49783,7 +49655,6 @@ var _NodeEmitterVisitor = (function () {
49783
49655
  _NodeEmitterVisitor.prototype.visitConditionalExpr = function (expr) {
49784
49656
  // TODO {chuckj}: Review use of ! on flaseCase. Should it be non-nullable?
49785
49657
  return this.record(expr, ts.createConditional(expr.condition.visitExpression(this, null), expr.trueCase.visitExpression(this, null), expr.falseCase.visitExpression(this, null)));
49786
-
49787
49658
  };
49788
49659
  _NodeEmitterVisitor.prototype.visitNotExpr = function (expr) {
49789
49660
  return this.record(expr, ts.createPrefix(ts.SyntaxKind.ExclamationToken, expr.condition.visitExpression(this, null)));
@@ -50864,7 +50735,7 @@ var ModuleResolutionHostAdapter = index.ModuleResolutionHostAdapter;
50864
50735
  var CompilerHost = index.CompilerHost;
50865
50736
 
50866
50737
  /**
50867
- * @license Angular v4.4.3
50738
+ * @license Angular v4.4.7
50868
50739
  * (c) 2010-2017 Google, Inc. https://angular.io/
50869
50740
  * License: MIT
50870
50741
  */
@@ -53493,7 +53364,7 @@ function create(info /* ts.server.PluginCreateInfo */) {
53493
53364
  /**
53494
53365
  * @stable
53495
53366
  */
53496
- var VERSION$$1 = new Version('4.4.3');
53367
+ var VERSION$$1 = new Version('4.4.7');
53497
53368
 
53498
53369
  exports.createLanguageService = createLanguageService;
53499
53370
  exports.TypeScriptServiceHost = TypeScriptServiceHost;