zhangjian
2023-06-05 0976d2d0f90cff460cedfdc8bd74e98c2c31a58c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
"use strict";
 
var attachComments = require("./attachComments");
var convertComments = require("./convertComments");
var toTokens = require("./toTokens");
var toAST = require("./toAST");
 
module.exports = function(ast, traverse, tt, code) {
  // convert tokens
  ast.tokens = toTokens(ast.tokens, tt, code);
 
  // add comments
  convertComments(ast.comments);
 
  // transform esprima and acorn divergent nodes
  toAST(ast, traverse, code);
 
  // ast.program.tokens = ast.tokens;
  // ast.program.comments = ast.comments;
  // ast = ast.program;
 
  // remove File
  ast.type = "Program";
  ast.sourceType = ast.program.sourceType;
  ast.directives = ast.program.directives;
  ast.body = ast.program.body;
  delete ast.program;
 
  attachComments(ast, ast.comments, ast.tokens);
};