| // 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'); |
| } |