anchor.diff:            defaultsTo: false, negatable: false)
         ..addFlag('enable-enum',
             help: 'Enable support for the proposed enum feature',
  -          defaultsTo: false, negatable: false, hide: true);
  +          defaultsTo: false, negatable: false, hide: true)
  +      ..addFlag('debug-block', defaultsTo: false, negatable: false, help: 'Debug print; prints the block structure.')
  +      ..addFlag('debug-constraint', defaultsTo: false, negatable: false, help: 'Debug print; prints the contraints.')
  +      ..addFlag('debug-name', defaultsTo: false, negatable: false, help: 'Debug print; prints a version of the program where the names are changed to show name resolving.')
  +      ..addFlag('debug-ast', defaultsTo: false, negatable: false, help: 'Debug print; prints the names of the AST nodes visited.');
  +
   
       try {
         var results = parser.parse(args);
  
positive.code:     args = args.expand((String arg) => arg.split('=')).toList();
      
      var parser = new ArgParser()
        ..addOption('debug', help: 'Debug printing, comma seperated string (block, constraint, ast, name)')
        ..addOption('dart-sdk', help: 'The path to the Dart SDK')
        ..addOption('package-root', abbr: 'p',
            help: 'The path to the package root')
  
negative.code:   final bool enableEnum;
    
    /** Whether to enable debug printing of block structure. */
    final bool printBlock;
    
    /** Whether to enable debug printing of resolved names. */
    final bool printNameResolving;
    
    /** Whether to enable debug printing of constraint stucture. */
    final bool printConstraints;
    
    /** Whether to enable debug printing of Ast nodes. */
    final bool printAstNodes;
    
  
    /**
  