anchor.diff:    /// used to create correction producers. The generators are then used to build
     /// fixes for those diagnostics. The generators used for non-lint diagnostics
     /// are in the [nonLintProducerMap].
  +  ///
  +  /// The keys of the map are the unique names of the lint codes without the
  +  /// `LintCode.` prefix. Generally the unique name is the same as the name of
  +  /// the lint, so most of the keys are constants defined by [LintNames]. But
  +  /// when a lint produces multiple codes, each with a different unique name,
  +  /// the unique name must be used here.
     static final Map<String, List<ProducerGenerator>> lintProducerMap = {
       LintNames.always_declare_return_types: [
         AddReturnType.newInstance,
  
positive.code: 
    List<ProducerGenerator> _getGenerators(ErrorCode errorCode) {
      if (errorCode is LintCode) {
        return FixProcessor.lintProducerMap[errorCode.name] ?? [];
      } else {
        // todo (pq): consider support for multiGenerators
        return FixProcessor.nonLintProducerMap[errorCode] ?? [];
  
negative.code:     required this.fixCount,
    });
  }
  
  extension on LintCode {
    String get uniqueLintName {
      if (uniqueName.startsWith('LintCode.')) {
        return uniqueName.substring(9);
      }
      return uniqueName;
    }
  }
  