| OLD | NEW | 
|    1 let global = this; |    1 let global = this; | 
|    2 function decompileAST(ast) { |    2 function decompileAST(ast) { | 
|    3   let func = global["decompile" + ast.type]; |    3   let func = global["decompile" + ast.type]; | 
|    4   if (!func) |    4   if (!func) | 
|    5     throw "Unknown type " + ast.type; |    5     throw "Unknown type " + ast.type; | 
|    6   return func(ast); |    6   return func(ast); | 
|    7 } |    7 } | 
|    8  |    8  | 
|    9 function decompileProgram(ast) { |    9 function decompileProgram(ast) { | 
|   10   return ast.body.map(decompileAST).join('\n'); |   10   return ast.body.map(decompileAST).join('\n'); | 
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  240     else |  240     else | 
|  241       throw "Unknown kind " + prop.kind; |  241       throw "Unknown kind " + prop.kind; | 
|  242   } |  242   } | 
|  243   return "{\n" + props.join(",\n") + "}"; |  243   return "{\n" + props.join(",\n") + "}"; | 
|  244 } |  244 } | 
|  245  |  245  | 
|  246 function decompileFunctionExpression(ast) { |  246 function decompileFunctionExpression(ast) { | 
|  247   return decompileFunctionDeclaration(ast); |  247   return decompileFunctionDeclaration(ast); | 
|  248 } |  248 } | 
|  249  |  249  | 
|  250 function decompileArrowExpression(ast) { |  250 function decompileArrowFunctionExpression(ast) { | 
|  251   let str = "(" + ast.params.map(decompileAST).join(", ") + ")"; |  251   let str = "(" + ast.params.map(decompileAST).join(", ") + ")"; | 
|  252   str += " => " + decompileAST(ast.body); |  252   str += " => " + decompileAST(ast.body); | 
|  253   return str; |  253   return str; | 
|  254 } |  254 } | 
|  255  |  255  | 
|  256 function decompileSequenceExpression(ast) { |  256 function decompileSequenceExpression(ast) { | 
|  257   return "(" + ast.expressions.map(e => decompileExpr(e, ast)).join(", ") + ")"; |  257   return "(" + ast.expressions.map(e => decompileExpr(e, ast)).join(", ") + ")"; | 
|  258 } |  258 } | 
|  259  |  259  | 
|  260 function decompileUnaryExpression(ast) { |  260 function decompileUnaryExpression(ast) { | 
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  400   if (typeof ast.value == "string") |  400   if (typeof ast.value == "string") | 
|  401     return '"' + sanitize(ast.value, '"') + '"'; |  401     return '"' + sanitize(ast.value, '"') + '"'; | 
|  402   if (ast.value === null) |  402   if (ast.value === null) | 
|  403       return "null"; |  403       return "null"; | 
|  404   return ast.value; |  404   return ast.value; | 
|  405 } |  405 } | 
|  406  |  406  | 
|  407 function process_js(ast) { |  407 function process_js(ast) { | 
|  408     _print(decompileAST(ast)); |  408     _print(decompileAST(ast)); | 
|  409 } |  409 } | 
| OLD | NEW |