anchor.diff:      return projection;
     }
   
  -  /// Take a TypeDef and create a Dart projection of it.
  -  void projection() {
  -    // TODO: Refactor this into smaller pieces
  -    // var parent = '';
  -
  -    // WinRT interfaces don't inherit in metadata (e.g. IAsyncInfo has no
  -    // parent), but all WinRT interfaces have a base type of IInspectable as far
  -    // as the COM vtable is concerned. They contain the functions of
  -    // IInspectable (as well as IUnknown, from which IInspectable itself
  -    // inherits).
  -
  -    // final classInheritsFrom = parent;
  -
  -    // // final interface = ClassProjection(
  -    // //     sourceType: typeDef.name.startsWith('Windows.Win32')
  -    // //         ? SourceType.com
  -    // //         : SourceType.winrt,
  -    // //     iid: typeDef.guid,
  -    // //     name: stripAnsiUnicodeSuffix(typeDef.name),
  -    // //     inherits: classInheritsFrom,
  -    // //     vtableStart: _vtableStart(typeDef));
  -
  -    // if (typeDef.genericParams.isNotEmpty) {
  -    //   final genericParams =
  -    //       typeDef.genericParams.map<String>((p) => '${p.name}, ').join();
  -    //   interface.shortNameWithGenericSpecifier =
  -    //       '${interface.shortName}<$genericParams>';
  -    // } else {
  -    //   interface.shortNameWithGenericSpecifier = interface.shortName;
  -    // }
  -
  -    // return interface;
  -  }
  -
     @override
     int cacheVtableStart(TypeDef? type) {
       if (type == null) {
  
positive.code:     return 0;
    }
  
    @override
    String get rootHeader => "import 'IInspectable.dart';";
  
  
negative.code: 
    @override
    String get shortName => typeDef.name.split('.').last.split('`').first;
  }
  