anchor.diff:        'dart.fix.add.fieldFormalParameters',
         70,
         'Add final field formal parameters');
  -  static const ADD_LATE =
  -      FixKind('dart.fix.add.late', 50, "Add 'late' modifier");
  +  static const ADD_LATE = FixKind(
  +      'dart.fix.add.late', DartFixKindPriority.DEFAULT, "Add 'late' modifier");
     static const ADD_MISSING_ENUM_CASE_CLAUSES = FixKind(
  -      'dart.fix.add.missingEnumCaseClauses', 50, 'Add missing case clauses');
  +      'dart.fix.add.missingEnumCaseClauses',
  +      DartFixKindPriority.DEFAULT,
  +      'Add missing case clauses');
     static const ADD_MISSING_PARAMETER_NAMED = FixKind(
         'dart.fix.add.missingParameterNamed', 70, "Add named parameter '{0}'");
     static const ADD_MISSING_PARAMETER_POSITIONAL = FixKind(
  
positive.code:       'Remove all unnecessary parentheses in file');
    static const REMOVE_UNNECESSARY_STRING_INTERPOLATION = FixKind(
        'dart.fix.remove.unnecessaryStringInterpolation',
        50,
        'Remove unnecessary string interpolation');
    static const REMOVE_UNNECESSARY_STRING_INTERPOLATION_MULTI = FixKind(
        'dart.fix.remove.unnecessaryStringInterpolation.multi',
        DartFixKindPriority.IN_FILE,
        'Remove all unnecessary string interpolations in file');
    static const REMOVE_UNUSED_CATCH_CLAUSE = FixKind(
        'dart.fix.remove.unusedCatchClause', 50, "Remove unused 'catch' clause");
    static const REMOVE_UNUSED_CATCH_STACK = FixKind(
        'dart.fix.remove.unusedCatchStack',
        50,
        'Remove unused stack trace variable');
    static const REMOVE_UNUSED_ELEMENT =
        FixKind('dart.fix.remove.unusedElement', 50, 'Remove unused element');
    static const REMOVE_UNUSED_FIELD =
        FixKind('dart.fix.remove.unusedField', 50, 'Remove unused field');
    static const REMOVE_UNUSED_IMPORT =
        FixKind('dart.fix.remove.unusedImport', 50, 'Remove unused import');
    static const REMOVE_UNUSED_IMPORT_MULTI = FixKind(
        'dart.fix.remove.unusedImport.multi',
        DartFixKindPriority.IN_FILE,
        'Remove all unused imports in file');
    static const REMOVE_UNUSED_LABEL =
        FixKind('dart.fix.remove.unusedLabel', 50, 'Remove unused label');
    static const REMOVE_UNUSED_LOCAL_VARIABLE = FixKind(
        'dart.fix.remove.unusedLocalVariable',
        50,
        'Remove unused local variable');
    static const REMOVE_UNUSED_PARAMETER = FixKind(
        'dart.fix.remove.unusedParameter', 50, 'Remove the unused parameter');
    static const REMOVE_UNUSED_PARAMETER_MULTI = FixKind(
        'dart.fix.remove.unusedParameter.multi',
        DartFixKindPriority.IN_FILE,
        'Remove unused parameters everywhere in file');
    static const RENAME_TO_CAMEL_CASE =
        FixKind('dart.fix.rename.toCamelCase', 50, "Rename to '{0}'");
    static const RENAME_TO_CAMEL_CASE_MULTI = FixKind(
        'dart.fix.rename.toCamelCase.multi',
        DartFixKindPriority.IN_FILE,
        'Rename to camel case everywhere in file');
    static const REPLACE_BOOLEAN_WITH_BOOL = FixKind(
        'dart.fix.replace.booleanWithBool', 50, "Replace 'boolean' with 'bool'");
    static const REPLACE_BOOLEAN_WITH_BOOL_MULTI = FixKind(
        'dart.fix.replace.booleanWithBool.multi',
        DartFixKindPriority.IN_FILE,
        "Replace all 'boolean's with 'bool' in file");
    static const REPLACE_CASCADE_WITH_DOT =
        FixKind('dart.fix.replace.cascadeWithDot', 50, "Replace '..' with '.'");
    static const REPLACE_CASCADE_WITH_DOT_MULTI = FixKind(
        'dart.fix.replace.cascadeWithDot.multi',
        DartFixKindPriority.IN_FILE,
        "Replace unnecessary '..'s with '.'s everywhere in file");
    static const REPLACE_COLON_WITH_EQUALS =
        FixKind('dart.fix.replace.colonWithEquals', 50, "Replace ':' with '='");
    static const REPLACE_COLON_WITH_EQUALS_MULTI = FixKind(
        'dart.fix.replace.colonWithEquals.multi',
        DartFixKindPriority.IN_FILE,
        "Replace ':'s with '='s everywhere in file");
    static const REPLACE_WITH_FILLED = FixKind(
        'dart.fix.replace.finalWithListFilled', 50, "Replace with 'List.filled'");
    static const REPLACE_FINAL_WITH_CONST = FixKind(
        'dart.fix.replace.finalWithConst', 50, "Replace 'final' with 'const'");
    static const REPLACE_FINAL_WITH_CONST_MULTI = FixKind(
        'dart.fix.replace.finalWithConst.multi',
        DartFixKindPriority.IN_FILE,
        "Replace 'final' with 'const' where possible in file");
    static const REPLACE_NEW_WITH_CONST = FixKind(
        'dart.fix.replace.newWithConst', 50, "Replace 'new' with 'const'");
    static const REPLACE_NEW_WITH_CONST_MULTI = FixKind(
        'dart.fix.replace.newWithConst.multi',
        DartFixKindPriority.IN_FILE,
        "Replace 'new' with 'const' where possible in file");
    static const REPLACE_NULL_WITH_CLOSURE = FixKind(
        'dart.fix.replace.nullWithClosure', 50, "Replace 'null' with a closure");
    static const REPLACE_NULL_WITH_CLOSURE_MULTI = FixKind(
        'dart.fix.replace.nullWithClosure.multi',
        DartFixKindPriority.IN_FILE,
        "Replace 'null's with closures where possible in file");
    static const REPLACE_RETURN_TYPE_FUTURE = FixKind(
        'dart.fix.replace.returnTypeFuture',
        50,
        "Return 'Future' from 'async' function");
    static const REPLACE_VAR_WITH_DYNAMIC = FixKind(
        'dart.fix.replace.varWithDynamic', 50, "Replace 'var' with 'dynamic'");
    static const REPLACE_WITH_EIGHT_DIGIT_HEX =
        FixKind('dart.fix.replace.withEightDigitHex', 50, "Replace with '{0}'");
    static const REPLACE_WITH_EIGHT_DIGIT_HEX_MULTI = FixKind(
        'dart.fix.replace.withEightDigitHex.multi',
        DartFixKindPriority.IN_FILE,
        'Replace with hex digits everywhere in file');
    static const REPLACE_WITH_BRACKETS =
        FixKind('dart.fix.replace.withBrackets', 50, 'Replace with { }');
    static const REPLACE_WITH_BRACKETS_MULTI = FixKind(
        'dart.fix.replace.withBrackets.multi',
        DartFixKindPriority.IN_FILE,
        'Replace with { } everywhere in file');
    static const REPLACE_WITH_CONDITIONAL_ASSIGNMENT = FixKind(
        'dart.fix.replace.withConditionalAssignment', 50, 'Replace with ??=');
    static const REPLACE_WITH_CONDITIONAL_ASSIGNMENT_MULTI = FixKind(
        'dart.fix.replace.withConditionalAssignment.multi',
        DartFixKindPriority.IN_FILE,
        'Replace with ??= everywhere in file');
    static const REPLACE_WITH_EXTENSION_NAME =
        FixKind('dart.fix.replace.withExtensionName', 50, "Replace with '{0}'");
    static const REPLACE_WITH_IDENTIFIER =
        FixKind('dart.fix.replace.withIdentifier', 50, 'Replace with identifier');
    // todo (pq): parameterize message (used by LintNames.avoid_types_on_closure_parameters)
    static const REPLACE_WITH_IDENTIFIER_MULTI = FixKind(
        'dart.fix.replace.withIdentifier.multi',
        DartFixKindPriority.IN_FILE,
        'Replace with identifier everywhere in file');
    static const REPLACE_WITH_INTERPOLATION = FixKind(
        'dart.fix.replace.withInterpolation', 50, 'Replace with interpolation');
    static const REPLACE_WITH_INTERPOLATION_MULTI = FixKind(
        'dart.fix.replace.withInterpolation.multi',
        DartFixKindPriority.IN_FILE,
        'Replace with interpolations everywhere in file');
    static const REPLACE_WITH_IS_EMPTY =
        FixKind('dart.fix.replace.withIsEmpty', 50, "Replace with 'isEmpty'");
    static const REPLACE_WITH_IS_EMPTY_MULTI = FixKind(
        'dart.fix.replace.withIsEmpty.multi',
        DartFixKindPriority.IN_FILE,
        "Replace with 'isEmpty' everywhere in file");
    static const REPLACE_WITH_IS_NOT_EMPTY = FixKind(
        'dart.fix.replace.withIsNotEmpty', 50, "Replace with 'isNotEmpty'");
    static const REPLACE_WITH_IS_NOT_EMPTY_MULTI = FixKind(
        'dart.fix.replace.withIsNotEmpty.multi',
        DartFixKindPriority.IN_FILE,
        "Replace with 'isNotEmpty' everywhere in file");
    static const REPLACE_WITH_NOT_NULL_AWARE =
        FixKind('dart.fix.replace.withNotNullAware', 50, "Replace with '{0}'");
    static const REPLACE_WITH_NULL_AWARE = FixKind(
        'dart.fix.replace.withNullAware',
        50,
        "Replace the '.' with a '?.' in the invocation");
    static const REPLACE_WITH_TEAR_OFF = FixKind('dart.fix.replace.withTearOff',
        50, 'Replace function literal with tear-off');
    static const REPLACE_WITH_TEAR_OFF_MULTI = FixKind(
        'dart.fix.replace.withTearOff.multi',
        DartFixKindPriority.IN_FILE,
        'Replace function literals with tear-offs everywhere in file');
    static const REPLACE_WITH_VAR = FixKind(
        'dart.fix.replace.withVar', 50, "Replace type annotation with 'var'");
    static const REPLACE_WITH_VAR_MULTI = FixKind(
        'dart.fix.replace.withVar.multi',
        DartFixKindPriority.IN_FILE,
        "Replace unnecessary type annotations with 'var' in file");
    static const SORT_CHILD_PROPERTY_LAST = FixKind(
        'dart.fix.sort.childPropertyLast',
        50,
        'Move child property to end of arguments');
    static const SORT_CHILD_PROPERTY_LAST_MULTI = FixKind(
        'dart.fix.sort.childPropertyLast.multi',
        DartFixKindPriority.IN_FILE,
        'Move child properties to ends of arguments everywhere in file');
    static const UPDATE_SDK_CONSTRAINTS = FixKind(
        'dart.fix.updateSdkConstraints', 50, 'Update the SDK constraints');
    static const USE_CONST =
        FixKind('dart.fix.use.const', 50, 'Change to constant');
    static const USE_EFFECTIVE_INTEGER_DIVISION = FixKind(
        'dart.fix.use.effectiveIntegerDivision',
        50,
        'Use effective integer division ~/');
    static const USE_EQ_EQ_NULL =
        FixKind('dart.fix.use.eqEqNull', 50, "Use == null instead of 'is Null'");
    static const USE_EQ_EQ_NULL_MULTI = FixKind(
        'dart.fix.use.eqEqNull.multi',
        DartFixKindPriority.IN_FILE,
        "Use == null instead of 'is Null' everywhere in file");
    static const USE_IS_NOT_EMPTY = FixKind('dart.fix.use.isNotEmpty', 50,
        "Use x.isNotEmpty instead of '!x.isEmpty'");
    static const USE_IS_NOT_EMPTY_MULTI = FixKind(
        'dart.fix.use.isNotEmpty.multi',
        DartFixKindPriority.IN_FILE,
        "Use x.isNotEmpty instead of '!x.isEmpty' everywhere in file");
    static const USE_NOT_EQ_NULL = FixKind(
        'dart.fix.use.notEqNull', 50, "Use != null instead of 'is! Null'");
    static const USE_NOT_EQ_NULL_MULTI = FixKind(
        'dart.fix.use.notEqNull.multi',
        DartFixKindPriority.IN_FILE,
        "Use != null instead of 'is! Null' everywhere in file");
    static const USE_RETHROW =
        FixKind('dart.fix.use.rethrow', 50, 'Replace throw with rethrow');
    static const USE_RETHROW_MULTI = FixKind(
        'dart.fix.use.rethrow.multi',
        DartFixKindPriority.IN_FILE,
        'Replace throw with rethrow where possible in file');
    static const WRAP_IN_FUTURE =
        FixKind('dart.fix.wrap.future', 50, "Wrap in 'Future.value'");
    static const WRAP_IN_TEXT =
        FixKind('dart.fix.flutter.wrap.text', 50, "Wrap in a 'Text' widget");
  }
  
  class DartFixKindPriority {
    // todo (pq): update all priorities to use these constants.
    static const int DEFAULT = 50;
    static const int IN_FILE = 40;
  }
  
negative.code: 
  /// An enumeration of quick fix kinds found in a Dart file.
  class DartFixKind {
    static const ADD_ASYNC = FixKind('dart.fix.add.async',
        DartFixKindPriority.DEFAULT, "Add 'async' modifier");
    static const ADD_AWAIT = FixKind(
        'dart.fix.add.await', DartFixKindPriority.DEFAULT, "Add 'await' keyword");
    static const ADD_AWAIT_MULTI = FixKind('dart.fix.add.await.multi',
        DartFixKindPriority.IN_FILE, "Add 'await's everywhere in file");
    static const ADD_EXPLICIT_CAST = FixKind(
        'dart.fix.add.explicitCast', DartFixKindPriority.DEFAULT, 'Add cast');
    static const ADD_CONST = FixKind('dart.fix.add.const',
        DartFixKindPriority.DEFAULT, "Add 'const' modifier");
    static const ADD_CONST_MULTI = FixKind('dart.fix.add.const.multi',
        DartFixKindPriority.IN_FILE, "Add 'const' modifiers everywhere in file");
    static const ADD_CURLY_BRACES = FixKind('dart.fix.add.curlyBraces',
        DartFixKindPriority.DEFAULT, 'Add curly braces');
    static const ADD_CURLY_BRACES_MULTI = FixKind(
        'dart.fix.add.curlyBraces.multi',
        DartFixKindPriority.IN_FILE,
        'Add curly braces everywhere in file');
    static const ADD_DIAGNOSTIC_PROPERTY_REFERENCE = FixKind(
        'dart.fix.add.diagnosticPropertyReference',
        DartFixKindPriority.DEFAULT,
        'Add a debug reference to this property');
    static const ADD_DIAGNOSTIC_PROPERTY_REFERENCE_MULTI = FixKind(
        'dart.fix.add.diagnosticPropertyReference.multi',
  