anchor.diff:  library angular2.transform.common.code.source_module;
   
  +import 'package:analyzer/src/generated/scanner.dart' show Keyword;
   import 'package:angular2/src/core/compiler/source_module.dart';
   
   import 'uri.dart';
  
positive.code: }
  
  final _unsafeCharsPattern = new RegExp(r'[^a-zA-Z0-9_\.]');
  String _getLibName(String moduleUrl) {
    // TODO(tbosch): use `.replaceAll('/', '.')` here as well
    // Also: replaceAll('asset:', '').
    // Right now, this fails in some cases with Dart2Js, e.g.
    // (Error 'switch' is a reserved word and can't be used here.
    //  library angular2_material.lib.src.components.switcher.switch.template.dart;)
    return moduleUrl.replaceAll(_unsafeCharsPattern, '_');
  }
  
negative.code:   if (sourceModule == null) return null;
    var buf = new StringBuffer();
    var sourceWithImports = sourceModule.getSourceWithImports();
    libraryName = _sanitizeLibName(
        libraryName != null ? libraryName : sourceModule.moduleUrl);
    buf..writeln('library $libraryName;')..writeln();
    sourceWithImports.imports.forEach((import) {
      // Format for importLine := [uri, prefix]
  