parseSource method

ASTSource parseSource(
  1. HTSource source
)

Convert string content into ASTSource by a certain grammar rules set.

Implementation

ASTSource parseSource(HTSource source) {
  final sw = Stopwatch()..start();
  currrentFileName = source.fullName;
  resetFlags();
  currentModuleImports = <ImportExportDecl>[];
  final tokens = lexer.lex(source.content);
  final nodes = parseTokens(tokens, source: source);
  final result = ASTSource(
      nodes: nodes,
      source: source,
      imports: currentModuleImports,
      errors: errors); // copy the list);
  if (config.printPerformanceStatistics) {
    print(
        'hetu: ${sw.elapsedMilliseconds}ms\tto parse\t[${source.fullName}]');
  }
  sw.stop();
  return result;
}