code: function detectChanges(component) {
      var hostNode = _getComponentHostLElementNode(component);
      ngDevMode &&
          assertDefined(hostNode.data, 'Component host node should be attached to an LViewData instance.');
      detectChangesInternal(hostNode.data, hostNode, component);
  }
docs: Synchronously perform change detection on a component (and possibly its sub-components).
  
  This function triggers change detection in a synchronous way on a component. There should
  be very little reason to call this function directly since a preferred way to do change
  detection is to {@link markDirty} the component and wait for the scheduler to call this method
  at some future point in time. This is because a single user action often results in many
  components being invalidated and calling change detection on each component synchronously
  would be inefficient. It is better to wait until all components are marked as dirty and
  then perform single change detection across all of the components
  
  @param component The component which the change detection should be performed on.