parseContent method

Map<String, MainMessage> parseContent(
  1. String fileContent,
  2. String filepath, [
  3. bool transformer = false
])

Parse the source of the Dart program from a file with content fileContent and path path and return a Map from message names to IntlMessage instances.

If transformer is true, assume the transformer will supply any "name" and "args" parameters required in Intl.message calls.

Implementation

Map<String, MainMessage> parseContent(String fileContent, String filepath,
    [bool transformer = false]) {
  String contents = fileContent;
  origin = filepath;
  // Optimization to avoid parsing files we're sure don't contain any messages.
  if (contents.contains('Intl.')) {
    root = _parseCompilationUnit(contents, origin!);
  } else {
    return {};
  }
  var visitor = new MessageFindingVisitor(this);
  visitor.generateNameAndArgs = transformer;
  root.accept(visitor);
  return visitor.messages;
}