List findMessages()

in lib/src/message_rewriter.dart [73:94]


List findMessages(String source, String sourceName,
    [MessageExtraction extraction]) {
  extraction = extraction ?? new MessageExtraction();
  try {
    var result = parseString(content: source);
    if (result.errors.isNotEmpty) {
      var errorsStr = result.errors.map((e) => e.message).join('\n');
      throw ArgumentError('Parsing errors in $sourceName: $errorsStr');
    }
    extraction.root = result.unit;
  } on ArgumentError catch (e) {
    extraction
        .onMessage("Error in parsing $sourceName, no messages extracted.");
    extraction.onMessage("  $e");
    return [];
  }
  extraction.origin = sourceName;
  var visitor = new MessageFindingVisitor(extraction);
  visitor.generateNameAndArgs = true;
  extraction.root.accept(visitor);
  return visitor.messages.values.toList();
}