// 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 = {'); for (int i = 0; i < mapSize; i++) { buffer.write("'$i': '${i + 1}',"); } buffer.write('};'); buffer.write('\n\n'); }