anchor.diff:    // therefore we keep track of changes using bool changed variable.
     // At the beginning of change detecting inputs we reset this flag to false,
     // and then set it to true if any of it's inputs change.
  -  if (((!isStatefulComp && isOnPushComp) || calcChangedState) &&
  -      view.viewType != ViewType.host) {
  +  if ((isOnPushComp || calcChangedState) && view.viewType != ViewType.host) {
       detectChangesInInputsMethod
           .addStmt(DetectChangesVars.changed.set(o.literal(false)).toStmt());
     }
  
positive.code:     // Expression for current value of expression when value is re-read.
      var currValExpr = _createCurrValueExpr(bindingIndex);
  
      String renderMethod;
      o.OutputType fieldType;
      // Wraps current value with sanitization call if necessary.
      o.Expression renderValue = _sanitizedValue(boundProp, currValExpr);
  
negative.code:     var updateStmts = <o.Statement>[];
      switch (boundProp.type) {
        case PropertyBindingType.property:
          // If user asked for logging bindings, generate code to log them.
          if (boundProp.name == 'className') {
            // Handle className special case for class="binding".
  