Moved AST serialization to extra (not ultimately needed by asc)

This commit is contained in:
dcodeIO
2018-01-15 19:00:18 +01:00
parent f2ba4b4a76
commit d1fed692f6
19 changed files with 1301 additions and 1008 deletions

View File

@ -7,6 +7,7 @@ require("ts-node").register({ project: require("path").join(__dirname, "..", "sr
require("../src/glue/js");
var Parser = require("../src/parser").Parser;
var serializeSource = require("../src/extra/ast").serializeSource;
var isCreate = process.argv[2] === "--create";
var filter = process.argv.length > 2 && !isCreate ? "*" + process.argv[2] + "*.ts" : "**.ts";
@ -25,7 +26,7 @@ glob.sync(filter, { cwd: __dirname + "/parser" }).forEach(filename => {
parser.parseFile(sourceText, filename, true);
var sb = [];
parser.program.sources[0].serialize(sb);
serializeSource(parser.program.sources[0], sb);
var actual = sb.join("") + parser.diagnostics.map(diagnostic => "// " + diagnostic + "\n").join("");;
var fixture = filename + ".fixture.ts";

View File

@ -1,4 +1,4 @@
for (let i: i32 = 0; i < 10; ++i) {
for (var i: i32 = 0; i < 10; ++i) {
;
}
for (i = 0; i < 10; ++i) {

View File

@ -1,4 +1,4 @@
for (let i: i32 = 0; i < 10; ++i) {
for (var i: i32 = 0; i < 10; ++i) {
;
}
for (i = 0; i < 10; ++i) {

View File

@ -1,7 +1,7 @@
declare namespace A {
namespace B {
export namespace C {
let aVar: i32;
var aVar: i32;
const aConst: i32 = 0;
function aFunc(): void {}
enum AnEnum {}

View File

@ -1,7 +1,7 @@
declare namespace A {
namespace B {
export namespace C {
let aVar: i32;
var aVar: i32;
const aConst: i32 = 0;
function aFunc(): void {
}

View File

@ -1,7 +1,7 @@
/(abc)\//ig;
/(abc)\//;
let re = /(abc)\//ig;
let noRe = !/(abc)\//i;
var re = /(abc)\//ig;
var noRe = !/(abc)\//i;
b / ig;
/(abc)\//iig;
/(abc)\//iX;

View File

@ -1,7 +1,7 @@
var a: i32;
let b: i32;
var b: i32;
const c: i32 = 0;
let d = 2;
var d = 2;
let e; // type expected
var e; // type expected
const f: i32; // must be initialized

View File

@ -1,8 +1,8 @@
let a: i32;
let b: i32;
var a: i32;
var b: i32;
const c: i32 = 0;
let d = 2;
let e;
var d = 2;
var e;
const f: i32;
// ERROR 1110: "Type expected." in var.ts @ 59,59
// ERROR 1155: "'const' declarations must be initialized." in var.ts @ 84,85