code: function attachEmbeddedView(parentView, elementData, viewIndex, view) {
      var /** @type {?} */ embeddedViews = ((elementData.viewContainer))._embeddedViews;
      if (viewIndex === null || viewIndex === undefined) {
          viewIndex = embeddedViews.length;
      }
      view.viewContainerParent = parentView;
      addToArray(embeddedViews, /** @type {?} */ ((viewIndex)), view);
      var /** @type {?} */ dvcElementData = declaredViewContainer(view);
      if (dvcElementData && dvcElementData !== elementData) {
          var /** @type {?} */ projectedViews = dvcElementData.template._projectedViews;
          if (!projectedViews) {
              projectedViews = dvcElementData.template._projectedViews = [];
          }
          projectedViews.push(view);
      }
      Services.dirtyParentQueries(view);
      var /** @type {?} */ prevView = ((viewIndex)) > 0 ? embeddedViews[((viewIndex)) - 1] : null;
      renderAttachEmbeddedView(elementData, prevView, view);
  }
docs: @license
  Copyright Google Inc. All Rights Reserved.
  
  Use of this source code is governed by an MIT-style license that can be
  found in the LICENSE file at https://angular.io/license
   
  @param {?} parentView
  @param {?} elementData
  @param {?} viewIndex
  @param {?} view
  @return {?}