generate method
Implementation
@override
Future<Directory> generate() async {
final contexts = source.map(_one);
final root = Directory.create(target);
await root.create();
final generatedFile = File.create(
root.entity.uri.resolve('generated.dart'),
);
await generatedFile.create();
root.files.add(generatedFile);
final fixnum = Import('package:fixnum/fixnum.dart');
await fixnum.writeTo(generatedFile);
for (final context in contexts) {
print('context: ' + context.scanner.location.toolString);
for (final message in context.syntax.messages) {
print('message: ' + message.name.value);
final generatedClass = _class(message, context.syntax);
await generatedClass.writeTo(generatedFile);
}
}
await generatedFile.style();
return root;
}