anchor.diff: +import 'package:meta/meta.dart';
  +import 'package:source_span/source_span.dart';
   import 'package:angular/src/compiler/analyzed_class.dart';
   import 'package:angular/src/core/change_detection/constants.dart'
  -    show isDefaultChangeDetectionStrategy, ChangeDetectionStrategy;
  +    show ChangeDetectionStrategy;
   import 'package:angular/src/core/linker/view_type.dart';
   import 'package:angular/src/core/metadata/lifecycle_hooks.dart'
       show LifecycleHooks;
   import 'package:angular/src/core/security.dart';
   import 'package:angular_compiler/cli.dart';
  -import 'package:meta/meta.dart';
  -import 'package:source_span/source_span.dart';
   
   import '../compile_metadata.dart';
   import '../expression_parser/ast.dart' as ast;
  
positive.code:               .instantiate([fieldExpr, currValExpr]))
            .toStmt());
      }
      if ((!isStatefulComp && isOnPushComp) || calcChangedState) {
        statements.add(DetectChangesVars.changed.set(o.literal(true)).toStmt());
      }
      // Execute actions and assign result to fieldExpr which hold previous value.
  
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".
  