blob: 9086cd0338612f7d7c2e32556398859d1a28d0c4 [file] [log] [blame]
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:io';
void main() {
final buffer = StringBuffer();
buffer.write('''
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
''');
generateMap(buffer, 'const1', 1, isConst: true);
generateMap(buffer, 'final1', 1, isConst: false);
generateMap(buffer, 'const5', 5, isConst: true);
generateMap(buffer, 'final5', 5, isConst: false);
generateMap(buffer, 'const10', 10, isConst: true);
generateMap(buffer, 'final10', 10, isConst: false);
generateMap(buffer, 'const100', 100, isConst: true);
generateMap(buffer, 'final100', 100, isConst: false);
for (final folder in ['dart', 'dart2']) {
final path = Platform.script.resolve('$folder/maps.dart').toFilePath();
File(path).writeAsStringSync(buffer.toString());
Process.runSync(Platform.executable, ['format', path]);
print('Generated $path.');
}
}
void generateMap(StringBuffer buffer, String name, int mapSize,
{bool isConst = true}) {
final constOrFinal = isConst ? 'const' : 'final';
buffer.write('$constOrFinal $name = <String, String>{');
for (int i = 0; i < mapSize; i++) {
buffer.write("'$i': '${i + 1}',");
}
buffer.write('};');
buffer.write('\n\n');
}