From 76ae12d143a53913f91d85144aa645eb3be2ee9c Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Mon, 6 Aug 2018 16:30:08 +0900 Subject: [PATCH 01/21] Change esnext.asynciterable to es2018.asynciterable --- package-lock.json | 99 ++++++++++--------- src/compiler/commandLineParser.ts | 2 +- ...terable.d.ts => es2018.asynciterable.d.ts} | 0 src/lib/es2018.d.ts | 1 + src/lib/esnext.d.ts | 1 - src/lib/libs.json | 2 +- .../unittests/commandLineParsing.ts | 6 +- .../convertCompilerOptionsFromJson.ts | 8 +- .../reference/forAwaitForUnion.symbols | 2 +- .../types.asyncGenerators.esnext.1.symbols | 60 +++++------ .../types.asyncGenerators.esnext.2.symbols | 36 +++---- .../reference/types.forAwait.esnext.1.symbols | 2 +- .../reference/types.forAwait.esnext.2.symbols | 2 +- .../baselines/reference/uniqueSymbols.symbols | 2 +- .../uniqueSymbolsDeclarations.symbols | 2 +- 15 files changed, 113 insertions(+), 112 deletions(-) rename src/lib/{esnext.asynciterable.d.ts => es2018.asynciterable.d.ts} (100%) diff --git a/package-lock.json b/package-lock.json index c180bb97ed1..2df4dd070db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "typescript", - "version": "3.0.0", + "version": "3.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -36,9 +36,9 @@ } }, "@octokit/rest": { - "version": "15.9.4", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.9.4.tgz", - "integrity": "sha512-v3CS1qW4IjriMvGgm4lDnYFBJlkwvzIbTxiipOcwVP8xeK8ih2pJofRhk7enmLngTtNEa+sIApJNkXxyyDKqLg==", + "version": "15.9.5", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.9.5.tgz", + "integrity": "sha512-vJEHSTnI4UAbCDTjVSQljPeX81zsQVNj2ruM5Oj5gxOttHD0TcfWeElcJYoITCMxQTgN6Y+bJFo6/+/0CqoacA==", "dev": true, "requires": { "before-after-hook": "^1.1.0", @@ -233,9 +233,9 @@ } }, "@types/mocha": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.4.tgz", - "integrity": "sha512-XMHApnKWI0jvXU5gLcSTsRjJBpSzP0BG+2oGv98JFyS4a5R0tRy0oshHBRndb3BuHb9AwDKaUL8Ja7GfUvsG4g==", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.5.tgz", + "integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==", "dev": true }, "@types/node": { @@ -392,9 +392,9 @@ "dev": true }, "ansi-colors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.2.tgz", - "integrity": "sha512-lqxzclDUlcMM72ab/b4imVvMCyO+jELG+a5DPuE2qFAwGkzQilb6iEgzQPhSmNCM7onBHsq/9Mggh4HaqilTlA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.5.tgz", + "integrity": "sha512-yAdfUZ+c2wetVNIFsNRn44THW+Lty6S5TwMpUfLA/UaGhiXbBv/F8E60/1hMLd0cnF/CDoWH8vzVaI5bAcHCjw==", "dev": true }, "ansi-cyan": { @@ -884,14 +884,15 @@ } }, "browserify-des": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz", - "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", - "inherits": "^2.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "browserify-rsa": { @@ -935,9 +936,9 @@ "dev": true }, "buffer": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", - "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.0.tgz", + "integrity": "sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -951,9 +952,9 @@ "dev": true }, "buffer-from": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", - "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "buffer-xor": { @@ -2709,9 +2710,9 @@ } }, "gulp-rename": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.3.0.tgz", - "integrity": "sha512-nEuZB7/9i0IZ8AXORTizl2QLP9tcC9uWc/s329zElBLJw1CfOhmMXBxwVlCRKjDyrWuhVP0uBKl61KeQ32TiCg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz", + "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==", "dev": true }, "gulp-sourcemaps": { @@ -3036,13 +3037,13 @@ } }, "hash.js": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.4.tgz", - "integrity": "sha512-A6RlQvvZEtFS5fLU43IDu0QUmBy+fDO9VMdTXvufKwIkt/rFfvICAViCax5fbDO4zdNzaC3/27ZhKUok5bAJyw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", "dev": true, "requires": { "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.1" } }, "he": { @@ -3489,9 +3490,9 @@ } }, "jake": { - "version": "8.0.16", - "resolved": "https://registry.npmjs.org/jake/-/jake-8.0.16.tgz", - "integrity": "sha512-qUTOVCKFkiz3tHgV1WMy7HTxDZgo+sO4X9GxFLAU+Mks4WsDGe9+ONHK6tPsSp8I3x6sPl0TwGbXHwTOhTyzog==", + "version": "8.0.18", + "resolved": "https://registry.npmjs.org/jake/-/jake-8.0.18.tgz", + "integrity": "sha512-KSF3QH/uNR7pKcWgBuS7U1nYoYdcqitLEB86nvIcYztiiDsePkn2/JoSutiKP77O1MTNlbhTiNHorIrlpyy4sA==", "dev": true, "requires": { "async": "0.9.x", @@ -3549,9 +3550,9 @@ }, "dependencies": { "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true } } @@ -4177,9 +4178,9 @@ "dev": true }, "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz", + "integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==", "dev": true }, "nopt": { @@ -5717,9 +5718,9 @@ "dev": true }, "tslint": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz", - "integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", + "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -5733,7 +5734,7 @@ "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.12.1" + "tsutils": "^2.27.2" }, "dependencies": { "resolve": { @@ -5754,9 +5755,9 @@ } }, "tsutils": { - "version": "2.27.2", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.2.tgz", - "integrity": "sha512-qf6rmT84TFMuxAKez2pIfR8UCai49iQsfB7YWVjV1bKpy/d0PWT5rEOSM6La9PiHZ0k1RRZQiwVdVJfQ3BPHgg==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -5790,9 +5791,9 @@ "dev": true }, "typescript": { - "version": "3.0.0-dev.20180706", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.0.0-dev.20180706.tgz", - "integrity": "sha512-FDGcMfvqDr4xoYhyspX/0SshPQCHFYbegQtggwxJLAWHtMjmutN+DrdNqEGwpX5nGKP96Ek34SN7HDRJegqZzw==", + "version": "3.1.0-dev.20180804", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.0-dev.20180804.tgz", + "integrity": "sha512-4R45oI/Jj/MDGlqFxzZTFgyASsBpEGOOQKsedPZQq9PfsIPFGA2WuSlU6riv5j/t8sDYsZhZjhw3BfP3ZOJD5g==", "dev": true }, "uglify-js": { @@ -6021,9 +6022,9 @@ }, "dependencies": { "clone": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true }, "clone-stats": { diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 55f224caec4..257399de2a2 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -38,12 +38,12 @@ namespace ts { ["es2017.string", "lib.es2017.string.d.ts"], ["es2017.intl", "lib.es2017.intl.d.ts"], ["es2017.typedarrays", "lib.es2017.typedarrays.d.ts"], + ["es2018.asynciterable", "lib.es2018.asynciterable.d.ts"], ["es2018.intl", "lib.es2018.intl.d.ts"], ["es2018.promise", "lib.es2018.promise.d.ts"], ["es2018.regexp", "lib.es2018.regexp.d.ts"], ["esnext.array", "lib.esnext.array.d.ts"], ["esnext.symbol", "lib.esnext.symbol.d.ts"], - ["esnext.asynciterable", "lib.esnext.asynciterable.d.ts"], ["esnext.intl", "lib.esnext.intl.d.ts"] ]; diff --git a/src/lib/esnext.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts similarity index 100% rename from src/lib/esnext.asynciterable.d.ts rename to src/lib/es2018.asynciterable.d.ts diff --git a/src/lib/es2018.d.ts b/src/lib/es2018.d.ts index 1d0e0c94d2c..2a20887b3ee 100644 --- a/src/lib/es2018.d.ts +++ b/src/lib/es2018.d.ts @@ -1,4 +1,5 @@ /// +/// /// /// /// diff --git a/src/lib/esnext.d.ts b/src/lib/esnext.d.ts index 970e1b32b3e..15c0cf74a3f 100644 --- a/src/lib/esnext.d.ts +++ b/src/lib/esnext.d.ts @@ -1,5 +1,4 @@ /// -/// /// /// /// diff --git a/src/lib/libs.json b/src/lib/libs.json index 1f2079e33a3..f2e21518185 100644 --- a/src/lib/libs.json +++ b/src/lib/libs.json @@ -29,10 +29,10 @@ "es2017.string", "es2017.intl", "es2017.typedarrays", + "es2018.asynciterable", "es2018.regexp", "es2018.promise", "es2018.intl", - "esnext.asynciterable", "esnext.array", "esnext.symbol", "esnext.intl", diff --git a/src/testRunner/unittests/commandLineParsing.ts b/src/testRunner/unittests/commandLineParsing.ts index 7145b9e5ec4..33229560b17 100644 --- a/src/testRunner/unittests/commandLineParsing.ts +++ b/src/testRunner/unittests/commandLineParsing.ts @@ -57,7 +57,7 @@ namespace ts { assertParseResult(["--lib", "es5,invalidOption", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -259,7 +259,7 @@ namespace ts { assertParseResult(["--lib", "es5,", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -278,7 +278,7 @@ namespace ts { assertParseResult(["--lib", "es5, ", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, diff --git a/src/testRunner/unittests/convertCompilerOptionsFromJson.ts b/src/testRunner/unittests/convertCompilerOptionsFromJson.ts index 3b422e9a645..d590743166f 100644 --- a/src/testRunner/unittests/convertCompilerOptionsFromJson.ts +++ b/src/testRunner/unittests/convertCompilerOptionsFromJson.ts @@ -263,7 +263,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -294,7 +294,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -325,7 +325,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -356,7 +356,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] diff --git a/tests/baselines/reference/forAwaitForUnion.symbols b/tests/baselines/reference/forAwaitForUnion.symbols index 8b31ea48684..09fbb13224e 100644 --- a/tests/baselines/reference/forAwaitForUnion.symbols +++ b/tests/baselines/reference/forAwaitForUnion.symbols @@ -5,7 +5,7 @@ async function f(source: Iterable | AsyncIterable) { >source : Symbol(source, Decl(forAwaitForUnion.ts, 0, 20)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(forAwaitForUnion.ts, 0, 17)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) >T : Symbol(T, Decl(forAwaitForUnion.ts, 0, 17)) for await (const x of source) { diff --git a/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols b/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols index 2b98a589b0e..d5120b736b2 100644 --- a/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols +++ b/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols @@ -49,13 +49,13 @@ async function * inferReturnType8() { } const assignability1: () => AsyncIterableIterator = async function * () { >assignability1 : Symbol(assignability1, Decl(types.asyncGenerators.esnext.1.ts, 24, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield 1; }; const assignability2: () => AsyncIterableIterator = async function * () { >assignability2 : Symbol(assignability2, Decl(types.asyncGenerators.esnext.1.ts, 27, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -65,13 +65,13 @@ const assignability2: () => AsyncIterableIterator = async function * () }; const assignability3: () => AsyncIterableIterator = async function * () { >assignability3 : Symbol(assignability3, Decl(types.asyncGenerators.esnext.1.ts, 30, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [1, 2]; }; const assignability4: () => AsyncIterableIterator = async function * () { >assignability4 : Symbol(assignability4, Decl(types.asyncGenerators.esnext.1.ts, 33, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -81,19 +81,19 @@ const assignability4: () => AsyncIterableIterator = async function * () }; const assignability5: () => AsyncIterableIterator = async function * () { >assignability5 : Symbol(assignability5, Decl(types.asyncGenerators.esnext.1.ts, 36, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield 1; })(); }; const assignability6: () => AsyncIterable = async function * () { >assignability6 : Symbol(assignability6, Decl(types.asyncGenerators.esnext.1.ts, 39, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield 1; }; const assignability7: () => AsyncIterable = async function * () { >assignability7 : Symbol(assignability7, Decl(types.asyncGenerators.esnext.1.ts, 42, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -103,13 +103,13 @@ const assignability7: () => AsyncIterable = async function * () { }; const assignability8: () => AsyncIterable = async function * () { >assignability8 : Symbol(assignability8, Decl(types.asyncGenerators.esnext.1.ts, 45, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [1, 2]; }; const assignability9: () => AsyncIterable = async function * () { >assignability9 : Symbol(assignability9, Decl(types.asyncGenerators.esnext.1.ts, 48, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -119,19 +119,19 @@ const assignability9: () => AsyncIterable = async function * () { }; const assignability10: () => AsyncIterable = async function * () { >assignability10 : Symbol(assignability10, Decl(types.asyncGenerators.esnext.1.ts, 51, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield 1; })(); }; const assignability11: () => AsyncIterator = async function * () { >assignability11 : Symbol(assignability11, Decl(types.asyncGenerators.esnext.1.ts, 54, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield 1; }; const assignability12: () => AsyncIterator = async function * () { >assignability12 : Symbol(assignability12, Decl(types.asyncGenerators.esnext.1.ts, 57, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -141,13 +141,13 @@ const assignability12: () => AsyncIterator = async function * () { }; const assignability13: () => AsyncIterator = async function * () { >assignability13 : Symbol(assignability13, Decl(types.asyncGenerators.esnext.1.ts, 60, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [1, 2]; }; const assignability14: () => AsyncIterator = async function * () { >assignability14 : Symbol(assignability14, Decl(types.asyncGenerators.esnext.1.ts, 63, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -157,19 +157,19 @@ const assignability14: () => AsyncIterator = async function * () { }; const assignability15: () => AsyncIterator = async function * () { >assignability15 : Symbol(assignability15, Decl(types.asyncGenerators.esnext.1.ts, 66, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield 1; })(); }; async function * explicitReturnType1(): AsyncIterableIterator { >explicitReturnType1 : Symbol(explicitReturnType1, Decl(types.asyncGenerators.esnext.1.ts, 68, 2)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield 1; } async function * explicitReturnType2(): AsyncIterableIterator { >explicitReturnType2 : Symbol(explicitReturnType2, Decl(types.asyncGenerators.esnext.1.ts, 71, 1)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -178,13 +178,13 @@ async function * explicitReturnType2(): AsyncIterableIterator { } async function * explicitReturnType3(): AsyncIterableIterator { >explicitReturnType3 : Symbol(explicitReturnType3, Decl(types.asyncGenerators.esnext.1.ts, 74, 1)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [1, 2]; } async function * explicitReturnType4(): AsyncIterableIterator { >explicitReturnType4 : Symbol(explicitReturnType4, Decl(types.asyncGenerators.esnext.1.ts, 77, 1)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -193,19 +193,19 @@ async function * explicitReturnType4(): AsyncIterableIterator { } async function * explicitReturnType5(): AsyncIterableIterator { >explicitReturnType5 : Symbol(explicitReturnType5, Decl(types.asyncGenerators.esnext.1.ts, 80, 1)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield 1; })(); } async function * explicitReturnType6(): AsyncIterable { >explicitReturnType6 : Symbol(explicitReturnType6, Decl(types.asyncGenerators.esnext.1.ts, 83, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield 1; } async function * explicitReturnType7(): AsyncIterable { >explicitReturnType7 : Symbol(explicitReturnType7, Decl(types.asyncGenerators.esnext.1.ts, 86, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -214,13 +214,13 @@ async function * explicitReturnType7(): AsyncIterable { } async function * explicitReturnType8(): AsyncIterable { >explicitReturnType8 : Symbol(explicitReturnType8, Decl(types.asyncGenerators.esnext.1.ts, 89, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [1, 2]; } async function * explicitReturnType9(): AsyncIterable { >explicitReturnType9 : Symbol(explicitReturnType9, Decl(types.asyncGenerators.esnext.1.ts, 92, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -229,19 +229,19 @@ async function * explicitReturnType9(): AsyncIterable { } async function * explicitReturnType10(): AsyncIterable { >explicitReturnType10 : Symbol(explicitReturnType10, Decl(types.asyncGenerators.esnext.1.ts, 95, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield 1; })(); } async function * explicitReturnType11(): AsyncIterator { >explicitReturnType11 : Symbol(explicitReturnType11, Decl(types.asyncGenerators.esnext.1.ts, 98, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield 1; } async function * explicitReturnType12(): AsyncIterator { >explicitReturnType12 : Symbol(explicitReturnType12, Decl(types.asyncGenerators.esnext.1.ts, 101, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -250,13 +250,13 @@ async function * explicitReturnType12(): AsyncIterator { } async function * explicitReturnType13(): AsyncIterator { >explicitReturnType13 : Symbol(explicitReturnType13, Decl(types.asyncGenerators.esnext.1.ts, 104, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [1, 2]; } async function * explicitReturnType14(): AsyncIterator { >explicitReturnType14 : Symbol(explicitReturnType14, Decl(types.asyncGenerators.esnext.1.ts, 107, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -265,7 +265,7 @@ async function * explicitReturnType14(): AsyncIterator { } async function * explicitReturnType15(): AsyncIterator { >explicitReturnType15 : Symbol(explicitReturnType15, Decl(types.asyncGenerators.esnext.1.ts, 110, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield 1; })(); } diff --git a/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols b/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols index 2305609b9de..31487d461ce 100644 --- a/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols +++ b/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols @@ -20,109 +20,109 @@ async function * inferReturnType3() { } const assignability1: () => AsyncIterableIterator = async function * () { >assignability1 : Symbol(assignability1, Decl(types.asyncGenerators.esnext.2.ts, 9, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield "a"; }; const assignability2: () => AsyncIterableIterator = async function * () { >assignability2 : Symbol(assignability2, Decl(types.asyncGenerators.esnext.2.ts, 12, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* ["a", "b"]; }; const assignability3: () => AsyncIterableIterator = async function * () { >assignability3 : Symbol(assignability3, Decl(types.asyncGenerators.esnext.2.ts, 15, 5)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield "a"; })(); }; const assignability4: () => AsyncIterable = async function * () { >assignability4 : Symbol(assignability4, Decl(types.asyncGenerators.esnext.2.ts, 18, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield "a"; }; const assignability5: () => AsyncIterable = async function * () { >assignability5 : Symbol(assignability5, Decl(types.asyncGenerators.esnext.2.ts, 21, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* ["a", "b"]; }; const assignability6: () => AsyncIterable = async function * () { >assignability6 : Symbol(assignability6, Decl(types.asyncGenerators.esnext.2.ts, 24, 5)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield "a"; })(); }; const assignability7: () => AsyncIterator = async function * () { >assignability7 : Symbol(assignability7, Decl(types.asyncGenerators.esnext.2.ts, 27, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield "a"; }; const assignability8: () => AsyncIterator = async function * () { >assignability8 : Symbol(assignability8, Decl(types.asyncGenerators.esnext.2.ts, 30, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* ["a", "b"]; }; const assignability9: () => AsyncIterator = async function * () { >assignability9 : Symbol(assignability9, Decl(types.asyncGenerators.esnext.2.ts, 33, 5)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield "a"; })(); }; async function * explicitReturnType1(): AsyncIterableIterator { >explicitReturnType1 : Symbol(explicitReturnType1, Decl(types.asyncGenerators.esnext.2.ts, 35, 2)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield "a"; } async function * explicitReturnType2(): AsyncIterableIterator { >explicitReturnType2 : Symbol(explicitReturnType2, Decl(types.asyncGenerators.esnext.2.ts, 38, 1)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* ["a", "b"]; } async function * explicitReturnType3(): AsyncIterableIterator { >explicitReturnType3 : Symbol(explicitReturnType3, Decl(types.asyncGenerators.esnext.2.ts, 41, 1)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield "a"; })(); } async function * explicitReturnType4(): AsyncIterable { >explicitReturnType4 : Symbol(explicitReturnType4, Decl(types.asyncGenerators.esnext.2.ts, 44, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield "a"; } async function * explicitReturnType5(): AsyncIterable { >explicitReturnType5 : Symbol(explicitReturnType5, Decl(types.asyncGenerators.esnext.2.ts, 47, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* ["a", "b"]; } async function * explicitReturnType6(): AsyncIterable { >explicitReturnType6 : Symbol(explicitReturnType6, Decl(types.asyncGenerators.esnext.2.ts, 50, 1)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield "a"; })(); } async function * explicitReturnType7(): AsyncIterator { >explicitReturnType7 : Symbol(explicitReturnType7, Decl(types.asyncGenerators.esnext.2.ts, 53, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield "a"; } async function * explicitReturnType8(): AsyncIterator { >explicitReturnType8 : Symbol(explicitReturnType8, Decl(types.asyncGenerators.esnext.2.ts, 56, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* ["a", "b"]; } async function * explicitReturnType9(): AsyncIterator { >explicitReturnType9 : Symbol(explicitReturnType9, Decl(types.asyncGenerators.esnext.2.ts, 59, 1)) ->AsyncIterator : Symbol(AsyncIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) yield* (async function * () { yield "a"; })(); } diff --git a/tests/baselines/reference/types.forAwait.esnext.1.symbols b/tests/baselines/reference/types.forAwait.esnext.1.symbols index 286f0a8555c..dadf43d24ef 100644 --- a/tests/baselines/reference/types.forAwait.esnext.1.symbols +++ b/tests/baselines/reference/types.forAwait.esnext.1.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/types/forAwait/types.forAwait.esnext.1.ts === declare const asyncIterable: AsyncIterable; >asyncIterable : Symbol(asyncIterable, Decl(types.forAwait.esnext.1.ts, 0, 13)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) declare const iterable: Iterable; >iterable : Symbol(iterable, Decl(types.forAwait.esnext.1.ts, 1, 13)) diff --git a/tests/baselines/reference/types.forAwait.esnext.2.symbols b/tests/baselines/reference/types.forAwait.esnext.2.symbols index 5013f1c964d..245c2670048 100644 --- a/tests/baselines/reference/types.forAwait.esnext.2.symbols +++ b/tests/baselines/reference/types.forAwait.esnext.2.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/types/forAwait/types.forAwait.esnext.2.ts === declare const asyncIterable: AsyncIterable; >asyncIterable : Symbol(asyncIterable, Decl(types.forAwait.esnext.2.ts, 0, 13)) ->AsyncIterable : Symbol(AsyncIterable, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) declare const iterable: Iterable; >iterable : Symbol(iterable, Decl(types.forAwait.esnext.2.ts, 1, 13)) diff --git a/tests/baselines/reference/uniqueSymbols.symbols b/tests/baselines/reference/uniqueSymbols.symbols index 6fef1873082..733c05e2753 100644 --- a/tests/baselines/reference/uniqueSymbols.symbols +++ b/tests/baselines/reference/uniqueSymbols.symbols @@ -738,7 +738,7 @@ interface Context { method3(): AsyncIterableIterator; >method3 : Symbol(Context.method3, Decl(uniqueSymbols.ts, 215, 33)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) >s : Symbol(s, Decl(uniqueSymbols.ts, 115, 13)) method4(): IterableIterator; diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.symbols b/tests/baselines/reference/uniqueSymbolsDeclarations.symbols index 485b31af0fd..eea10ac2604 100644 --- a/tests/baselines/reference/uniqueSymbolsDeclarations.symbols +++ b/tests/baselines/reference/uniqueSymbolsDeclarations.symbols @@ -738,7 +738,7 @@ interface Context { method3(): AsyncIterableIterator; >method3 : Symbol(Context.method3, Decl(uniqueSymbolsDeclarations.ts, 215, 33)) ->AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.esnext.asynciterable.d.ts, --, --)) +>AsyncIterableIterator : Symbol(AsyncIterableIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) >s : Symbol(s, Decl(uniqueSymbolsDeclarations.ts, 115, 13)) method4(): IterableIterator; From 8626b927be4c022853b608035341f1d59b51076f Mon Sep 17 00:00:00 2001 From: kpreisser Date: Mon, 20 Aug 2018 13:54:57 +0200 Subject: [PATCH 02/21] Adjust the iteration behavior of the shimMap (used for IE 11) to visit values that are added while forEach is running. Fixes #26090 --- src/compiler/core.ts | 109 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 89 insertions(+), 20 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index a2f2b245502..36398e06b35 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -121,29 +121,62 @@ namespace ts { function shimMap(): new () => Map { class MapIterator { - private data: MapLike; - private keys: ReadonlyArray; - private index = 0; + index = 0; + + private shimMap: ShimMap; private selector: (data: MapLike, key: string) => U; - constructor(data: MapLike, selector: (data: MapLike, key: string) => U) { - this.data = data; + + constructor(shimMap: ShimMap, selector: (data: MapLike, key: string) => U) { + this.shimMap = shimMap; this.selector = selector; - this.keys = Object.keys(data); + + if (!shimMap.iteratorState) { + // Create the initial iterator state. + shimMap.iteratorState = { + iterators: [], + keys: Object.keys(shimMap.data) + }; + } + + // Add ourselves to the list of iterators. + shimMap.iteratorState.iterators.push(this); } public next(): { value: U, done: false } | { value: never, done: true } { - const index = this.index; - if (index < this.keys.length) { - this.index++; - return { value: this.selector(this.data, this.keys[index]), done: false }; + const iteratorState = this.shimMap.iteratorState!; + if (this.index != -1 && this.index < iteratorState.keys.length) { + const index = this.index++; + return { value: this.selector(this.shimMap.data, iteratorState.keys[index]), done: false }; + } + else { + // Ensure subsequent invocations will always return done. + this.index = -1; + + // Remove ourselves from the list of iterators. + iteratorState.iterators.splice( + iteratorState.iterators.indexOf(this), 1); + + if (iteratorState.iterators.length == 0) { + // No other iterator is active, so clear the iterator state. + this.shimMap.iteratorState = undefined; + } + + return { value: undefined as never, done: true }; } - return { value: undefined as never, done: true }; } } - return class implements Map { - private data = createDictionaryObject(); - public size = 0; + class ShimMap implements Map { + size = 0; + + data = createDictionaryObject(); + + iteratorState: { + readonly keys: string[]; + readonly iterators: { + index: number; + }[]; + } | undefined; get(key: string): T | undefined { return this.data[key]; @@ -152,6 +185,11 @@ namespace ts { set(key: string, value: T): this { if (!this.has(key)) { this.size++; + + if (this.iteratorState) { + // Add the new entry. + this.iteratorState.keys.push(key); + } } this.data[key] = value; return this; @@ -166,6 +204,22 @@ namespace ts { if (this.has(key)) { this.size--; delete this.data[key]; + + if (this.iteratorState) { + // Remove the key and adjust the iterator indexes. + // Note that this operation isn't very performant as we need to + // iterate over the "keys" array; however, we expect that no one + // will delete entries while iterators are still active. + const keys = this.iteratorState.keys; + const keyIndex = keys.indexOf(key); + keys.splice(keyIndex, 1); + + const iterators = this.iteratorState.iterators; + for (let i = 0; i < iterators.length; i++) + if (iterators[i].index > keyIndex) + iterators[i].index--; + } + return true; } return false; @@ -174,26 +228,41 @@ namespace ts { clear(): void { this.data = createDictionaryObject(); this.size = 0; + + if (this.iteratorState) { + this.iteratorState.keys.splice(0, this.iteratorState.keys.length); + + const iterators = this.iteratorState.iterators; + for (let i = 0; i < iterators.length; i++) + iterators[i].index = 0; + } } keys(): Iterator { - return new MapIterator(this.data, (_data, key) => key); + return new MapIterator(this, (_data, key) => key); } values(): Iterator { - return new MapIterator(this.data, (data, key) => data[key]); + return new MapIterator(this, (data, key) => data[key]); } entries(): Iterator<[string, T]> { - return new MapIterator(this.data, (data, key) => [key, data[key]] as [string, T]); + return new MapIterator(this, (data, key) => [key, data[key]] as [string, T]); } forEach(action: (value: T, key: string) => void): void { - for (const key in this.data) { - action(this.data[key], key); + const iterator = this.entries(); + while (true) { + const { value: entry, done } = iterator.next(); + if (done) + break; + + action(entry[1], entry[0]); } } - }; + } + + return ShimMap; } export function length(array: ReadonlyArray | undefined): number { From bff5436ac964dc57f1fdcf8be3d7930f9c94646a Mon Sep 17 00:00:00 2001 From: kpreisser Date: Thu, 23 Aug 2018 13:22:55 +0200 Subject: [PATCH 03/21] Follow-Up: Avoid the memory leak problem by simply not allowing existing iterators to continue once an entry has been deleted from the map. Fixes #26090 --- src/compiler/core.ts | 78 +++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 48 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 36398e06b35..aa5c13ebaef 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -124,43 +124,40 @@ namespace ts { index = 0; private shimMap: ShimMap; + private originalIteratoKeys: string[]; private selector: (data: MapLike, key: string) => U; constructor(shimMap: ShimMap, selector: (data: MapLike, key: string) => U) { this.shimMap = shimMap; this.selector = selector; - - if (!shimMap.iteratorState) { - // Create the initial iterator state. - shimMap.iteratorState = { - iterators: [], - keys: Object.keys(shimMap.data) - }; + + if (!shimMap.currentIteratoKeys) { + // Create the key array on the map over which we (and other new iterators) + // will iterate. + shimMap.currentIteratoKeys = Object.keys(shimMap.data); } - // Add ourselves to the list of iterators. - shimMap.iteratorState.iterators.push(this); + // Copy the key array to allow us later to check if the map has cleared + // or replaced the array. + this.originalIteratoKeys = shimMap.currentIteratoKeys; } public next(): { value: U, done: false } | { value: never, done: true } { - const iteratorState = this.shimMap.iteratorState!; - if (this.index != -1 && this.index < iteratorState.keys.length) { + // Check if we still have the same key array. Otherwise, this means + // an element has been deleted from the map in the meanwhile, so we + // cannot continue. + if (this.index != -1 && this.originalIteratoKeys != this.shimMap.currentIteratoKeys) + throw new Error("Cannot continue iteration because a map element has been deleted."); + + const iteratorKeys = this.originalIteratoKeys; + if (this.index != -1 && this.index < iteratorKeys.length) { const index = this.index++; - return { value: this.selector(this.shimMap.data, iteratorState.keys[index]), done: false }; + return { value: this.selector(this.shimMap.data, iteratorKeys[index]), done: false }; } else { // Ensure subsequent invocations will always return done. this.index = -1; - // Remove ourselves from the list of iterators. - iteratorState.iterators.splice( - iteratorState.iterators.indexOf(this), 1); - - if (iteratorState.iterators.length == 0) { - // No other iterator is active, so clear the iterator state. - this.shimMap.iteratorState = undefined; - } - return { value: undefined as never, done: true }; } } @@ -171,12 +168,7 @@ namespace ts { data = createDictionaryObject(); - iteratorState: { - readonly keys: string[]; - readonly iterators: { - index: number; - }[]; - } | undefined; + currentIteratoKeys?: string[]; get(key: string): T | undefined { return this.data[key]; @@ -186,11 +178,12 @@ namespace ts { if (!this.has(key)) { this.size++; - if (this.iteratorState) { + if (this.currentIteratoKeys) { // Add the new entry. - this.iteratorState.keys.push(key); + this.currentIteratoKeys.push(key); } } + this.data[key] = value; return this; } @@ -205,19 +198,10 @@ namespace ts { this.size--; delete this.data[key]; - if (this.iteratorState) { - // Remove the key and adjust the iterator indexes. - // Note that this operation isn't very performant as we need to - // iterate over the "keys" array; however, we expect that no one - // will delete entries while iterators are still active. - const keys = this.iteratorState.keys; - const keyIndex = keys.indexOf(key); - keys.splice(keyIndex, 1); - - const iterators = this.iteratorState.iterators; - for (let i = 0; i < iterators.length; i++) - if (iterators[i].index > keyIndex) - iterators[i].index--; + if (this.currentIteratoKeys) { + // Clear the iteratorKeys array. This means if iterators are still active + // they will throw on the next() call. + this.currentIteratoKeys = undefined; } return true; @@ -229,12 +213,10 @@ namespace ts { this.data = createDictionaryObject(); this.size = 0; - if (this.iteratorState) { - this.iteratorState.keys.splice(0, this.iteratorState.keys.length); - - const iterators = this.iteratorState.iterators; - for (let i = 0; i < iterators.length; i++) - iterators[i].index = 0; + if (this.currentIteratoKeys) { + // Clear the iteratorKeys array. This means if iterators are still active + // they will throw on their next() call. + this.currentIteratoKeys = undefined; } } From c0c71bf65e87ddacb6c1ce7af1671f0b1640e5fd Mon Sep 17 00:00:00 2001 From: kpreisser Date: Thu, 3 Jan 2019 16:09:56 +0100 Subject: [PATCH 04/21] Fix lint issues. --- src/compiler/core.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index aa5c13ebaef..ad984a208b5 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -130,7 +130,7 @@ namespace ts { constructor(shimMap: ShimMap, selector: (data: MapLike, key: string) => U) { this.shimMap = shimMap; this.selector = selector; - + if (!shimMap.currentIteratoKeys) { // Create the key array on the map over which we (and other new iterators) // will iterate. @@ -146,17 +146,18 @@ namespace ts { // Check if we still have the same key array. Otherwise, this means // an element has been deleted from the map in the meanwhile, so we // cannot continue. - if (this.index != -1 && this.originalIteratoKeys != this.shimMap.currentIteratoKeys) + if (this.index !== -1 && this.originalIteratoKeys !== this.shimMap.currentIteratoKeys) { throw new Error("Cannot continue iteration because a map element has been deleted."); + } const iteratorKeys = this.originalIteratoKeys; - if (this.index != -1 && this.index < iteratorKeys.length) { + if (this.index !== -1 && this.index < iteratorKeys.length) { const index = this.index++; return { value: this.selector(this.shimMap.data, iteratorKeys[index]), done: false }; } else { // Ensure subsequent invocations will always return done. - this.index = -1; + this.index = -1; return { value: undefined as never, done: true }; } @@ -167,7 +168,7 @@ namespace ts { size = 0; data = createDictionaryObject(); - + currentIteratoKeys?: string[]; get(key: string): T | undefined { @@ -183,7 +184,7 @@ namespace ts { this.currentIteratoKeys.push(key); } } - + this.data[key] = value; return this; } @@ -236,8 +237,9 @@ namespace ts { const iterator = this.entries(); while (true) { const { value: entry, done } = iterator.next(); - if (done) + if (done) { break; + } action(entry[1], entry[0]); } From 41bef5f77c5727bdda840c55cf94ab643a40e27f Mon Sep 17 00:00:00 2001 From: kpreisser Date: Fri, 4 Jan 2019 14:00:24 +0100 Subject: [PATCH 05/21] PR review: Fix typo. --- src/compiler/core.ts | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index ad984a208b5..61b9f52cffa 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -124,33 +124,33 @@ namespace ts { index = 0; private shimMap: ShimMap; - private originalIteratoKeys: string[]; + private originalIteratorKeys: string[]; private selector: (data: MapLike, key: string) => U; constructor(shimMap: ShimMap, selector: (data: MapLike, key: string) => U) { this.shimMap = shimMap; this.selector = selector; - if (!shimMap.currentIteratoKeys) { + if (!shimMap.currentIteratorKeys) { // Create the key array on the map over which we (and other new iterators) // will iterate. - shimMap.currentIteratoKeys = Object.keys(shimMap.data); + shimMap.currentIteratorKeys = Object.keys(shimMap.data); } // Copy the key array to allow us later to check if the map has cleared // or replaced the array. - this.originalIteratoKeys = shimMap.currentIteratoKeys; + this.originalIteratorKeys = shimMap.currentIteratorKeys; } public next(): { value: U, done: false } | { value: never, done: true } { // Check if we still have the same key array. Otherwise, this means // an element has been deleted from the map in the meanwhile, so we // cannot continue. - if (this.index !== -1 && this.originalIteratoKeys !== this.shimMap.currentIteratoKeys) { + if (this.index !== -1 && this.originalIteratorKeys !== this.shimMap.currentIteratorKeys) { throw new Error("Cannot continue iteration because a map element has been deleted."); } - const iteratorKeys = this.originalIteratoKeys; + const iteratorKeys = this.originalIteratorKeys; if (this.index !== -1 && this.index < iteratorKeys.length) { const index = this.index++; return { value: this.selector(this.shimMap.data, iteratorKeys[index]), done: false }; @@ -169,7 +169,7 @@ namespace ts { data = createDictionaryObject(); - currentIteratoKeys?: string[]; + currentIteratorKeys?: string[]; get(key: string): T | undefined { return this.data[key]; @@ -179,9 +179,9 @@ namespace ts { if (!this.has(key)) { this.size++; - if (this.currentIteratoKeys) { + if (this.currentIteratorKeys) { // Add the new entry. - this.currentIteratoKeys.push(key); + this.currentIteratorKeys.push(key); } } @@ -199,10 +199,10 @@ namespace ts { this.size--; delete this.data[key]; - if (this.currentIteratoKeys) { + if (this.currentIteratorKeys) { // Clear the iteratorKeys array. This means if iterators are still active // they will throw on the next() call. - this.currentIteratoKeys = undefined; + this.currentIteratorKeys = undefined; } return true; @@ -214,10 +214,10 @@ namespace ts { this.data = createDictionaryObject(); this.size = 0; - if (this.currentIteratoKeys) { + if (this.currentIteratorKeys) { // Clear the iteratorKeys array. This means if iterators are still active // they will throw on their next() call. - this.currentIteratoKeys = undefined; + this.currentIteratorKeys = undefined; } } From b502ae98e110303457fc87b79dec8f7b8920fa15 Mon Sep 17 00:00:00 2001 From: kpreisser Date: Fri, 4 Jan 2019 18:02:43 +0100 Subject: [PATCH 06/21] Add a unit test for the shimMap (currently failing). This will test that iteration is in insertion order, new entries added during iteration will be visited by the iterator, and values can be deleted while an iterator is running. --- src/testRunner/tsconfig.json | 1 + src/testRunner/unittests/shimMap.ts | 103 ++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 src/testRunner/unittests/shimMap.ts diff --git a/src/testRunner/tsconfig.json b/src/testRunner/tsconfig.json index 849906e24cf..7e75c0105a2 100644 --- a/src/testRunner/tsconfig.json +++ b/src/testRunner/tsconfig.json @@ -58,6 +58,7 @@ "unittests/publicApi.ts", "unittests/reuseProgramStructure.ts", "unittests/semver.ts", + "unittests/shimMap.ts", "unittests/transform.ts", "unittests/tsbuild.ts", "unittests/tsbuildWatchMode.ts", diff --git a/src/testRunner/unittests/shimMap.ts b/src/testRunner/unittests/shimMap.ts new file mode 100644 index 00000000000..e169f1963cb --- /dev/null +++ b/src/testRunner/unittests/shimMap.ts @@ -0,0 +1,103 @@ +namespace ts { + describe("unittests:: shimMap", () => { + + function testMapIterationAddedValues(map: Map, useForEach: boolean): string { + let resultString = ""; + + map.set("1", "1"); + map.set("3", "3"); + map.set("2", "2"); + map.set("4", "4"); + + let addedThree = false; + const doForEach = (value: string, key: string) => { + resultString += `${key}:${value};`; + + // Add a new key ("0") - the map should provide this + // one in the next iteration. + if (key === "1") { + map.set("1", "X1"); + map.set("0", "X0"); + map.set("4", "X4"); + } + else if (key === "3") { + if (!addedThree) { + addedThree = true; + + // Remove and re-add key "3"; the map should + // visit it after "0". + map.delete("3"); + map.set("3", "Y3"); + + // Change the value of "2"; the map should provide + // it when visiting the key. + map.set("2", "Y2"); + } + else { + // Check that an entry added when we visit the + // currently last entry will still be visited. + map.set("999", "999"); + } + } + else if (key === "999") { + // Ensure that clear() behaves correctly same as removing all keys. + map.set("A", "A"); + map.set("B", "B"); + map.set("C", "C"); + } + else if (key === "A") { + map.clear(); + map.set("Z", "Z"); + } + else if (key === "Z") { + // Check that the map behaves correctly when an item is + // added and removed immediately. + map.set("X", "X"); + map.delete("X"); + map.set("Y", "Y"); + } + }; + + if (useForEach) { + map.forEach(doForEach); + } + else { + // Use an iterator. + const iterator = map.entries(); + while (true) { + const { value: tuple, done } = iterator.next(); + if (done) { + break; + } + + doForEach(tuple[1], tuple[0]); + } + } + + return resultString; + } + + it("iterates values in insertion order and handles changes", () => { + const expectedResult = "1:1;3:3;2:Y2;4:X4;0:X0;3:Y3;999:999;A:A;Z:Z;Y:Y;"; + + // First, ensure the test actually has the same behavior as a native Map. + let nativeMap = createMap(); + const nativeMapForEachResult = testMapIterationAddedValues(nativeMap, /* useForEach */ true); + assert.equal(nativeMapForEachResult, expectedResult, "nativeMap-forEach"); + + nativeMap = createMap(); + const nativeMapIteratorResult = testMapIterationAddedValues(nativeMap, /* useForEach */ false); + assert.equal(nativeMapIteratorResult, expectedResult, "nativeMap-iterator"); + + // Then, test the shimMap. + let localShimMap = new (shimMap())(); + const shimMapForEachResult = testMapIterationAddedValues(localShimMap, /* useForEach */ true); + assert.equal(shimMapForEachResult, expectedResult, "shimMap-forEach"); + + localShimMap = new (shimMap())(); + const shimMapIteratorResult = testMapIterationAddedValues(localShimMap, /* useForEach */ false); + assert.equal(shimMapIteratorResult, expectedResult, "shimMap-iterator"); + + }); + }); +} From c8e329bcbc2b5940c314298e16e0de69482a92dc Mon Sep 17 00:00:00 2001 From: kpreisser Date: Fri, 4 Jan 2019 19:09:44 +0100 Subject: [PATCH 07/21] Rework the implementation of the shimMap to ensure iterators will behave the same as with native Maps. This includes: - Entries are visited in insertion order - New entries added during iteration will be visited - Entries that are removed during iteration (before being visited) will not be visited Fixes #26090 --- src/compiler/core.ts | 146 ++++++++++++++++++++++++++++--------------- 1 file changed, 97 insertions(+), 49 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 61b9f52cffa..606c54c0337 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -118,47 +118,48 @@ namespace ts { export const MapCtr = typeof Map !== "undefined" && "entries" in Map.prototype ? Map : shimMap(); // Keep the class inside a function so it doesn't get compiled if it's not used. - function shimMap(): new () => Map { + export function shimMap(): new () => Map { + + interface MapEntry { + key?: string; + value?: T; + + // Linked list references + nextEntry?: MapEntry; + previousEntry?: MapEntry; + + /** + * Specifies if the iterator should skip the next entry. + * This will be set when an entry is deleted. + * See https://github.com/Microsoft/TypeScript/pull/27292 for more information. + */ + skipNext?: boolean; + } class MapIterator { - index = 0; + private currentEntry?: MapEntry; + private selector: (key: string, value: T) => U; - private shimMap: ShimMap; - private originalIteratorKeys: string[]; - private selector: (data: MapLike, key: string) => U; - - constructor(shimMap: ShimMap, selector: (data: MapLike, key: string) => U) { - this.shimMap = shimMap; + constructor(currentEntry: MapEntry, selector: (key: string, value: T) => U) { + this.currentEntry = currentEntry; this.selector = selector; - - if (!shimMap.currentIteratorKeys) { - // Create the key array on the map over which we (and other new iterators) - // will iterate. - shimMap.currentIteratorKeys = Object.keys(shimMap.data); - } - - // Copy the key array to allow us later to check if the map has cleared - // or replaced the array. - this.originalIteratorKeys = shimMap.currentIteratorKeys; } public next(): { value: U, done: false } | { value: never, done: true } { - // Check if we still have the same key array. Otherwise, this means - // an element has been deleted from the map in the meanwhile, so we - // cannot continue. - if (this.index !== -1 && this.originalIteratorKeys !== this.shimMap.currentIteratorKeys) { - throw new Error("Cannot continue iteration because a map element has been deleted."); + // Navigate to the next element. + while (this.currentEntry) { + const skipNext = !!this.currentEntry.skipNext; + this.currentEntry = this.currentEntry.nextEntry; + + if (!skipNext) { + break; + } } - const iteratorKeys = this.originalIteratorKeys; - if (this.index !== -1 && this.index < iteratorKeys.length) { - const index = this.index++; - return { value: this.selector(this.shimMap.data, iteratorKeys[index]), done: false }; + if (this.currentEntry) { + return { value: this.selector(this.currentEntry.key!, this.currentEntry.value!), done: false }; } else { - // Ensure subsequent invocations will always return done. - this.index = -1; - return { value: undefined as never, done: true }; } } @@ -167,25 +168,48 @@ namespace ts { class ShimMap implements Map { size = 0; - data = createDictionaryObject(); + private data = createDictionaryObject>(); - currentIteratorKeys?: string[]; + // Linked list references for iterators. + // See https://github.com/Microsoft/TypeScript/pull/27292 + // for more information. + private readonly linkedListStart: MapEntry; + private linkedListEnd: MapEntry; + + constructor() { + // Create a (stub) start element that will not + // contain a key and value. + this.linkedListStart = {}; + // When the map is empty, the end element is the same as the + // start element. + this.linkedListEnd = this.linkedListStart; + } get(key: string): T | undefined { - return this.data[key]; + const entry = this.data[key] as MapEntry | undefined; + return entry && entry.value!; } set(key: string, value: T): this { if (!this.has(key)) { this.size++; - if (this.currentIteratorKeys) { - // Add the new entry. - this.currentIteratorKeys.push(key); - } + // Append the new element at the end of the linked list. + const newEntry: MapEntry = { + key, + value + }; + this.data[key] = newEntry; + + const previousEndElement = this.linkedListEnd; + previousEndElement.nextEntry = newEntry; + newEntry.previousEntry = previousEndElement; + this.linkedListEnd = newEntry; + } + else { + this.data[key].value = value; } - this.data[key] = value; return this; } @@ -197,16 +221,28 @@ namespace ts { delete(key: string): boolean { if (this.has(key)) { this.size--; + const entry = this.data[key]; delete this.data[key]; - if (this.currentIteratorKeys) { - // Clear the iteratorKeys array. This means if iterators are still active - // they will throw on the next() call. - this.currentIteratorKeys = undefined; + // Adjust the linked list references. + const previousElement = entry.previousEntry!; + previousElement.nextEntry = entry.nextEntry; + + // Adjust the forward reference of the deleted element + // in case an iterator still references it. + entry.previousEntry = undefined; + entry.nextEntry = previousElement; + entry.skipNext = true; + + // When the deleted entry was the last one, we need to + // adust the endElement reference + if (this.linkedListEnd === entry) { + this.linkedListEnd = previousElement; } return true; } + return false; } @@ -214,23 +250,35 @@ namespace ts { this.data = createDictionaryObject(); this.size = 0; - if (this.currentIteratorKeys) { - // Clear the iteratorKeys array. This means if iterators are still active - // they will throw on their next() call. - this.currentIteratorKeys = undefined; + // Reset the linked list. Note that we must adjust the forward + // references of the deleted entries to ensure iterators stuck + // in the middle of the list don't continue with deleted entries, + // but can continue with new entries added after the clear() + // operation. + const startEntry = this.linkedListStart; + let currentEntry = startEntry.nextEntry; + while (currentEntry) { + const nextEntry = currentEntry.nextEntry; + currentEntry.previousEntry = undefined; + currentEntry.nextEntry = startEntry; + currentEntry.skipNext = true; + + currentEntry = nextEntry; } + this.linkedListStart.nextEntry = undefined; + this.linkedListEnd = this.linkedListStart; } keys(): Iterator { - return new MapIterator(this, (_data, key) => key); + return new MapIterator(this.linkedListStart, key => key); } values(): Iterator { - return new MapIterator(this, (data, key) => data[key]); + return new MapIterator(this.linkedListStart, (_key, value) => value); } entries(): Iterator<[string, T]> { - return new MapIterator(this, (data, key) => [key, data[key]] as [string, T]); + return new MapIterator(this.linkedListStart, (key, value) => [key, value] as [string, T]); } forEach(action: (value: T, key: string) => void): void { From 472157e5237ae73ce8c7631eaef63f7c76ce9c0f Mon Sep 17 00:00:00 2001 From: kpreisser Date: Sat, 5 Jan 2019 11:25:50 +0100 Subject: [PATCH 08/21] Revert a few unneeded (stylistic) changes. --- src/compiler/core.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 606c54c0337..0daf80a53c9 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -165,10 +165,9 @@ namespace ts { } } - class ShimMap implements Map { - size = 0; - + return class implements Map { private data = createDictionaryObject>(); + public size = 0; // Linked list references for iterators. // See https://github.com/Microsoft/TypeScript/pull/27292 @@ -242,7 +241,6 @@ namespace ts { return true; } - return false; } @@ -292,9 +290,7 @@ namespace ts { action(entry[1], entry[0]); } } - } - - return ShimMap; + }; } export function length(array: ReadonlyArray | undefined): number { From c4960d3c11ce1bdf85ded5acbc0c48dd10d28e6d Mon Sep 17 00:00:00 2001 From: kpreisser Date: Sat, 5 Jan 2019 11:26:37 +0100 Subject: [PATCH 09/21] Adjust the unit test to spot a missed bug in the delete() implementation. --- src/testRunner/unittests/shimMap.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/testRunner/unittests/shimMap.ts b/src/testRunner/unittests/shimMap.ts index e169f1963cb..a47a1d18205 100644 --- a/src/testRunner/unittests/shimMap.ts +++ b/src/testRunner/unittests/shimMap.ts @@ -50,10 +50,13 @@ namespace ts { map.set("Z", "Z"); } else if (key === "Z") { - // Check that the map behaves correctly when an item is + // Check that the map behaves correctly when two items are // added and removed immediately. map.set("X", "X"); - map.delete("X"); + map.set("X1", "X1"); + map.set("X2", "X2"); + map.delete("X1"); + map.delete("X2"); map.set("Y", "Y"); } }; @@ -78,7 +81,7 @@ namespace ts { } it("iterates values in insertion order and handles changes", () => { - const expectedResult = "1:1;3:3;2:Y2;4:X4;0:X0;3:Y3;999:999;A:A;Z:Z;Y:Y;"; + const expectedResult = "1:1;3:3;2:Y2;4:X4;0:X0;3:Y3;999:999;A:A;Z:Z;X:X;Y:Y;"; // First, ensure the test actually has the same behavior as a native Map. let nativeMap = createMap(); From 9140cbc29e29298f4ba21b0b0a098c512433f864 Mon Sep 17 00:00:00 2001 From: kpreisser Date: Sat, 5 Jan 2019 11:45:46 +0100 Subject: [PATCH 10/21] Correctly adjust the backward reference of the next entry when deleting an entry. --- src/compiler/core.ts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 0daf80a53c9..3f5d3207cdd 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -223,22 +223,25 @@ namespace ts { const entry = this.data[key]; delete this.data[key]; - // Adjust the linked list references. - const previousElement = entry.previousEntry!; - previousElement.nextEntry = entry.nextEntry; + // Adjust the linked list references of the neighbor entries. + const previousEntry = entry.previousEntry!; + previousEntry.nextEntry = entry.nextEntry; + if (entry.nextEntry) { + entry.nextEntry.previousEntry = previousEntry; + } + + // When the deleted entry was the last one, we need to + // adust the endElement reference. + if (this.linkedListEnd === entry) { + this.linkedListEnd = previousEntry; + } // Adjust the forward reference of the deleted element // in case an iterator still references it. entry.previousEntry = undefined; - entry.nextEntry = previousElement; + entry.nextEntry = previousEntry; entry.skipNext = true; - // When the deleted entry was the last one, we need to - // adust the endElement reference - if (this.linkedListEnd === entry) { - this.linkedListEnd = previousElement; - } - return true; } return false; From 97d2ea8f321cbcc530098b5ec819ec2b539396b4 Mon Sep 17 00:00:00 2001 From: kpreisser Date: Sat, 5 Jan 2019 17:10:18 +0100 Subject: [PATCH 11/21] Minor improvements of code and comments. --- src/compiler/core.ts | 72 ++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 30 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 3f5d3207cdd..c0d5cae7bae 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -121,15 +121,15 @@ namespace ts { export function shimMap(): new () => Map { interface MapEntry { - key?: string; + readonly key?: string; value?: T; - // Linked list references + // Linked list references for iterators. nextEntry?: MapEntry; previousEntry?: MapEntry; /** - * Specifies if the iterator should skip the next entry. + * Specifies if iterators should skip the next entry. * This will be set when an entry is deleted. * See https://github.com/Microsoft/TypeScript/pull/27292 for more information. */ @@ -146,7 +146,7 @@ namespace ts { } public next(): { value: U, done: false } | { value: never, done: true } { - // Navigate to the next element. + // Navigate to the next entry. while (this.currentEntry) { const skipNext = !!this.currentEntry.skipNext; this.currentEntry = this.currentEntry.nextEntry; @@ -172,16 +172,22 @@ namespace ts { // Linked list references for iterators. // See https://github.com/Microsoft/TypeScript/pull/27292 // for more information. - private readonly linkedListStart: MapEntry; - private linkedListEnd: MapEntry; + + /** + * The first entry in the linked list. + * Note that this is only a stub that serves as starting point + * for iterators and doesn't contain a key and a value. + */ + private readonly firstEntry: MapEntry; + private lastEntry: MapEntry; constructor() { - // Create a (stub) start element that will not - // contain a key and value. - this.linkedListStart = {}; - // When the map is empty, the end element is the same as the - // start element. - this.linkedListEnd = this.linkedListStart; + // Create a first (stub) map entry that will not contain a key + // and value but serves as starting point for iterators. + this.firstEntry = {}; + // When the map is empty, the last entry is the same as the + // first one. + this.lastEntry = this.firstEntry; } get(key: string): T | undefined { @@ -193,17 +199,19 @@ namespace ts { if (!this.has(key)) { this.size++; - // Append the new element at the end of the linked list. + // Create a new entry that will be appended at the + // end of the linked list. const newEntry: MapEntry = { key, value }; this.data[key] = newEntry; - const previousEndElement = this.linkedListEnd; - previousEndElement.nextEntry = newEntry; - newEntry.previousEntry = previousEndElement; - this.linkedListEnd = newEntry; + // Adjust the references. + const previousLastEntry = this.lastEntry; + previousLastEntry.nextEntry = newEntry; + newEntry.previousEntry = previousLastEntry; + this.lastEntry = newEntry; } else { this.data[key].value = value; @@ -231,13 +239,17 @@ namespace ts { } // When the deleted entry was the last one, we need to - // adust the endElement reference. - if (this.linkedListEnd === entry) { - this.linkedListEnd = previousEntry; + // adust the lastEntry reference. + if (this.lastEntry === entry) { + this.lastEntry = previousEntry; } - // Adjust the forward reference of the deleted element - // in case an iterator still references it. + // Adjust the forward reference of the deleted entry + // in case an iterator still references it. This allows us + // to throw away the entry, but when an active iterator + // (which points to the current entry) continues, it will + // navigate to the entry that originally came before the + // current one and skip it. entry.previousEntry = undefined; entry.nextEntry = previousEntry; entry.skipNext = true; @@ -256,30 +268,30 @@ namespace ts { // in the middle of the list don't continue with deleted entries, // but can continue with new entries added after the clear() // operation. - const startEntry = this.linkedListStart; - let currentEntry = startEntry.nextEntry; + const firstEntry = this.firstEntry; + let currentEntry = firstEntry.nextEntry; while (currentEntry) { const nextEntry = currentEntry.nextEntry; currentEntry.previousEntry = undefined; - currentEntry.nextEntry = startEntry; + currentEntry.nextEntry = firstEntry; currentEntry.skipNext = true; currentEntry = nextEntry; } - this.linkedListStart.nextEntry = undefined; - this.linkedListEnd = this.linkedListStart; + firstEntry.nextEntry = undefined; + this.lastEntry = firstEntry; } keys(): Iterator { - return new MapIterator(this.linkedListStart, key => key); + return new MapIterator(this.firstEntry, key => key); } values(): Iterator { - return new MapIterator(this.linkedListStart, (_key, value) => value); + return new MapIterator(this.firstEntry, (_key, value) => value); } entries(): Iterator<[string, T]> { - return new MapIterator(this.linkedListStart, (key, value) => [key, value] as [string, T]); + return new MapIterator(this.firstEntry, (key, value) => [key, value] as [string, T]); } forEach(action: (value: T, key: string) => void): void { From 97c557eb04ab94ff8aa837722b7750aa8e54dcf4 Mon Sep 17 00:00:00 2001 From: Benedikt Meurer Date: Mon, 4 Feb 2019 14:39:29 +0100 Subject: [PATCH 12/21] Make modifierFlagsCache mandatory for Node objects The `modifierFlagsCache` property is among the top properties that cause megamorphic stub cache misses when having `tsc` build itself. This is because it's added sort of randomly to a whole lot of different objects, at arbitrary points after their initialization. This also means that `modifierFlagsCache` is often not present on the instances, which means that when missing on the megamorphic stub cache, Node/V8 has to compute `NonExistent` handlers for the relevant inline caches. It's a lot cheaper to just make sure that the property is always existent on the instance, and ideally also at the same offset. This change ensures exactly that. Drive-by-fix: Also make sure that `transformFlags` (and `parent`) is always at the same offset for `Node` objects. --- src/compiler/types.ts | 2 +- src/services/services.ts | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index ff5ce74d31d..030926d969a 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -609,7 +609,7 @@ namespace ts { export interface Node extends TextRange { kind: SyntaxKind; flags: NodeFlags; - /* @internal */ modifierFlagsCache?: ModifierFlags; + /* @internal */ modifierFlagsCache: ModifierFlags; /* @internal */ transformFlags: TransformFlags; // Flags for transforms, possibly undefined decorators?: NodeArray; // Array of decorators (in document order) modifiers?: ModifiersArray; // Array of modifiers diff --git a/src/services/services.ts b/src/services/services.ts index 6a63497d7e6..7f8e2aa45d3 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -16,17 +16,19 @@ namespace ts { public pos: number; public end: number; public flags: NodeFlags; + public modifierFlagsCache: ModifierFlags; + public transformFlags: TransformFlags; public parent: Node; public symbol!: Symbol; // Actually optional, but it was too annoying to access `node.symbol!` everywhere since in many cases we know it must be defined public jsDoc?: JSDoc[]; public original?: Node; - public transformFlags: TransformFlags; private _children: Node[] | undefined; constructor(kind: SyntaxKind, pos: number, end: number) { this.pos = pos; this.end = end; this.flags = NodeFlags.None; + this.modifierFlagsCache = ModifierFlags.None; this.transformFlags = undefined!; // TODO: GH#18217 this.parent = undefined!; this.kind = kind; @@ -200,16 +202,19 @@ namespace ts { public pos: number; public end: number; public flags: NodeFlags; + public modifierFlagsCache: ModifierFlags; + public transformFlags: TransformFlags; public parent: Node; public symbol!: Symbol; public jsDocComments?: JSDoc[]; - public transformFlags!: TransformFlags; constructor(pos: number, end: number) { // Set properties in same order as NodeObject this.pos = pos; this.end = end; this.flags = NodeFlags.None; + this.modifierFlagsCache = ModifierFlags.None; + this.transformFlags = undefined!; // TODO: GH#18217 this.parent = undefined!; } From fb65adbd230dc78c4650ae947e9149b8df0973e0 Mon Sep 17 00:00:00 2001 From: Benedikt Meurer Date: Wed, 6 Feb 2019 16:51:32 +0100 Subject: [PATCH 13/21] Fix initialization of `TokenOrIdentifierObject#transformFlags`. This should start with `TransformFlags.None` just like in the `Node` constructor in `src/compiler/utilities.ts`. --- src/services/services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/services.ts b/src/services/services.ts index 7f8e2aa45d3..7092fd05f41 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -214,7 +214,7 @@ namespace ts { this.end = end; this.flags = NodeFlags.None; this.modifierFlagsCache = ModifierFlags.None; - this.transformFlags = undefined!; // TODO: GH#18217 + this.transformFlags = TransformFlags.None; this.parent = undefined!; } From edc9b35e1f9484686d07c97169c4d578e728df1e Mon Sep 17 00:00:00 2001 From: Benedikt Meurer Date: Wed, 6 Feb 2019 20:05:11 +0100 Subject: [PATCH 14/21] Ran `gulp baseline-accept` to rebaseline the JSDoc tests --- ...ocComments.parsesCorrectly.@link tags.json | 4 +++ ...ts.parsesCorrectly.Nested @param tags.json | 21 +++++++++++++- ...parsesCorrectly.argSynonymForParamTag.json | 11 ++++++- ...sCorrectly.argumentSynonymForParamTag.json | 11 ++++++- ...parsesCorrectly.asteriskAfterPreamble.json | 1 + ...Comments.parsesCorrectly.emptyComment.json | 3 +- ...ments.parsesCorrectly.leadingAsterisk.json | 9 +++++- ...less-than and greater-than characters.json | 6 ++++ ...nts.parsesCorrectly.noLeadingAsterisk.json | 9 +++++- ...Comments.parsesCorrectly.noReturnType.json | 4 +++ ...cComments.parsesCorrectly.oneParamTag.json | 11 ++++++- ...DocComments.parsesCorrectly.paramTag1.json | 11 ++++++- ...arsesCorrectly.paramTagBracketedName1.json | 11 ++++++- ...arsesCorrectly.paramTagBracketedName2.json | 11 ++++++- ...parsesCorrectly.paramTagNameThenType1.json | 11 ++++++- ...parsesCorrectly.paramTagNameThenType2.json | 11 ++++++- ...ents.parsesCorrectly.paramWithoutType.json | 6 ++++ ...ocComments.parsesCorrectly.returnTag1.json | 9 +++++- ...ocComments.parsesCorrectly.returnTag2.json | 9 +++++- ...cComments.parsesCorrectly.returnsTag1.json | 9 +++++- ...cComments.parsesCorrectly.templateTag.json | 7 +++++ ...Comments.parsesCorrectly.templateTag2.json | 10 +++++++ ...Comments.parsesCorrectly.templateTag3.json | 10 +++++++ ...Comments.parsesCorrectly.templateTag4.json | 10 +++++++ ...Comments.parsesCorrectly.templateTag5.json | 10 +++++++ ...Comments.parsesCorrectly.templateTag6.json | 10 +++++++ ...mments.parsesCorrectly.threeAsterisks.json | 1 + ...Comments.parsesCorrectly.twoParamTag2.json | 21 ++++++++++++-- ...parsesCorrectly.twoParamTagOnSameLine.json | 21 ++++++++++++-- .../DocComments.parsesCorrectly.typeTag.json | 9 +++++- ...sCorrectly.typedefTagWithChildrenTags.json | 29 +++++++++++++++++-- ...peExpressions.parsesCorrectly.allType.json | 3 +- ...xpressions.parsesCorrectly.arrayType1.json | 4 +++ ...xpressions.parsesCorrectly.arrayType2.json | 5 ++++ ...xpressions.parsesCorrectly.arrayType3.json | 7 +++++ ...esCorrectly.callSignatureInRecordType.json | 6 +++- ...s.parsesCorrectly.functionReturnType1.json | 11 +++++-- ...essions.parsesCorrectly.functionType1.json | 1 + ...essions.parsesCorrectly.functionType2.json | 11 +++++-- ...rrectly.functionTypeWithTrailingComma.json | 5 ++++ ...eExpressions.parsesCorrectly.keyword1.json | 3 ++ ...eExpressions.parsesCorrectly.keyword2.json | 4 ++- ...eExpressions.parsesCorrectly.keyword3.json | 4 ++- ...ns.parsesCorrectly.methodInRecordType.json | 8 ++++- ...eExpressions.parsesCorrectly.newType1.json | 10 +++++++ ...sions.parsesCorrectly.nonNullableType.json | 5 +++- ...ions.parsesCorrectly.nonNullableType2.json | 5 +++- ...ressions.parsesCorrectly.nullableType.json | 5 +++- ...essions.parsesCorrectly.nullableType2.json | 5 +++- ...ions.parsesCorrectly.optionalNullable.json | 4 ++- ...ressions.parsesCorrectly.optionalType.json | 5 +++- ...pressions.parsesCorrectly.recordType1.json | 1 + ...pressions.parsesCorrectly.recordType2.json | 4 +++ ...pressions.parsesCorrectly.recordType3.json | 8 ++++- ...pressions.parsesCorrectly.recordType4.json | 7 +++++ ...pressions.parsesCorrectly.recordType5.json | 11 ++++++- ...pressions.parsesCorrectly.recordType6.json | 11 ++++++- ...pressions.parsesCorrectly.recordType7.json | 15 ++++++++-- ...pressions.parsesCorrectly.recordType8.json | 4 +++ ...Expressions.parsesCorrectly.thisType1.json | 10 +++++++ ...sesCorrectly.topLevelNoParenUnionType.json | 9 ++++-- ...esCorrectly.trailingCommaInRecordType.json | 4 +++ ...ons.parsesCorrectly.tsConstructorType.json | 5 +++- ...ssions.parsesCorrectly.tsFunctionType.json | 5 +++- ...xpressions.parsesCorrectly.tupleType0.json | 1 + ...xpressions.parsesCorrectly.tupleType1.json | 5 +++- ...xpressions.parsesCorrectly.tupleType2.json | 9 ++++-- ...xpressions.parsesCorrectly.tupleType3.json | 13 +++++++-- ...sCorrectly.tupleTypeWithTrailingComma.json | 5 +++- ...orrectly.typeArgumentsNotFollowingDot.json | 3 ++ ...xpressions.parsesCorrectly.typeOfType.json | 3 ++ ...ssions.parsesCorrectly.typeReference1.json | 7 ++++- ...ssions.parsesCorrectly.typeReference2.json | 11 +++++-- ...ssions.parsesCorrectly.typeReference3.json | 6 ++++ ...Expressions.parsesCorrectly.unionType.json | 10 +++++-- ...pressions.parsesCorrectly.unknownType.json | 3 +- ...ressions.parsesCorrectly.variadicType.json | 5 +++- 77 files changed, 542 insertions(+), 60 deletions(-) diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json index 73f9fb3b8b0..c91e53dad87 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 127, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTag", "pos": 63, "end": 68, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 64, "end": 67, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "see" }, "comment": "{@link second link text} and {@link Foo|a foo} as well." diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json index 10ae7a71097..49bf7956cfe 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json @@ -2,60 +2,77 @@ "kind": "JSDocComment", "pos": 0, "end": 66, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 6, "end": 64, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 7, "end": 12, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 34, "end": 64, + "modifierFlagsCache": 0, "type": { "kind": "JSDocTypeLiteral", "pos": 34, "end": 64, + "modifierFlagsCache": 0, "jsDocPropertyTags": [ { "kind": "JSDocParameterTag", "pos": 34, "end": 64, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 35, "end": 40, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 41, "end": 49, + "modifierFlagsCache": 0, "type": { "kind": "StringKeyword", "pos": 42, - "end": 48 + "end": 48, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "FirstNode", "pos": 50, "end": 53, + "modifierFlagsCache": 0, "left": { "kind": "Identifier", "pos": 50, "end": 51, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "o" }, "right": { "kind": "Identifier", "pos": 52, "end": 53, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "f" } }, @@ -70,6 +87,8 @@ "kind": "Identifier", "pos": 22, "end": 23, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "o" }, "isNameFirst": true, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json index 6859d67c4c2..3ed8059ca07 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 44, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 42, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 12, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "arg" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 13, "end": 21, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 14, - "end": 20 + "end": 20, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 22, "end": 27, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json index 16874177ac9..5264a478d42 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 49, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 47, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 17, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "argument" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 18, "end": 26, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 19, - "end": 25 + "end": 25, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 27, "end": 32, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json index 393a0c33602..550d5a04100 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json @@ -2,5 +2,6 @@ "kind": "JSDocComment", "pos": 0, "end": 23, + "modifierFlagsCache": 0, "comment": "* @type {number}" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json index bcdae97c940..87427bdffef 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json @@ -1,5 +1,6 @@ { "kind": "JSDocComment", "pos": 0, - "end": 5 + "end": 5, + "modifierFlagsCache": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json index 9da2d2f2646..c6015abc822 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json @@ -2,25 +2,32 @@ "kind": "JSDocComment", "pos": 0, "end": 27, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTypeTag", "pos": 8, "end": 22, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 13, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "type" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 14, "end": 22, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 15, - "end": 21 + "end": 21, + "modifierFlagsCache": 0, + "transformFlags": 0 } } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json index 3e5137d7b4d..f9d7d8d19d1 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json @@ -2,21 +2,27 @@ "kind": "JSDocComment", "pos": 0, "end": 61, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 7, "end": 59, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 8, "end": 13, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "name": { "kind": "Identifier", "pos": 14, "end": 15, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "x" }, "isNameFirst": true, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json index 9da2d2f2646..c6015abc822 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json @@ -2,25 +2,32 @@ "kind": "JSDocComment", "pos": 0, "end": 27, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTypeTag", "pos": 8, "end": 22, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 13, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "type" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 14, "end": 22, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 15, - "end": 21 + "end": 21, + "modifierFlagsCache": 0, + "transformFlags": 0 } } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json index 92bce57f68c..fc6f2729c14 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 20, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 15, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 15, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "return" } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json index be925823222..ef679fb9b60 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 34, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 32, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 15, "end": 23, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 16, - "end": 22 + "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 24, "end": 29, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json index 8383a0401dd..51731febb84 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 59, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 57, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 15, "end": 23, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 16, - "end": 22 + "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 24, "end": 29, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json index 98ea87a26bd..439ce11bd56 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 61, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 59, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 15, "end": 23, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 16, - "end": 22 + "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 25, "end": 30, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json index e381cf9329b..18d85c73f9e 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 66, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 64, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 15, "end": 23, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 16, - "end": 22 + "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 26, "end": 31, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json index 7af573ee0b3..a46b2c4e203 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 34, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 29, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 21, "end": 29, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 22, - "end": 28 + "end": 28, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 15, "end": 20, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": true, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json index ca20f10e0d3..f6e1f1e6a96 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 46, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 44, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 21, "end": 29, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 22, - "end": 28 + "end": 28, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 15, "end": 20, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": true, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json index a8fb42ee2ca..f5d96e39608 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json @@ -2,21 +2,27 @@ "kind": "JSDocComment", "pos": 0, "end": 23, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 21, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "name": { "kind": "Identifier", "pos": 15, "end": 18, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" }, "isNameFirst": true, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json index ab1bbd97998..a8fd2b05ad1 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json @@ -2,25 +2,32 @@ "kind": "JSDocComment", "pos": 0, "end": 29, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 24, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 15, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "return" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 16, "end": 24, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 17, - "end": 23 + "end": 23, + "modifierFlagsCache": 0, + "transformFlags": 0 } } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json index 7df8cea13ea..286e877d6f6 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json @@ -2,25 +2,32 @@ "kind": "JSDocComment", "pos": 0, "end": 54, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 24, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 15, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "return" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 16, "end": 24, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 17, - "end": 23 + "end": 23, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "comment": "Description text follows" diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json index 17a823c4283..097e788594d 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json @@ -2,25 +2,32 @@ "kind": "JSDocComment", "pos": 0, "end": 30, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 25, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 16, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "returns" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 17, "end": 25, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 18, - "end": 24 + "end": 24, + "modifierFlagsCache": 0, + "transformFlags": 0 } } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json index bf15a478146..cf03d724714 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 24, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 19, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 17, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "template" }, "typeParameters": { @@ -18,10 +22,13 @@ "kind": "TypeParameter", "pos": 18, "end": 19, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 18, "end": 19, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "T" } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json index 2b635be0577..346e00f6b37 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 26, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 21, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 17, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "template" }, "typeParameters": { @@ -18,10 +22,13 @@ "kind": "TypeParameter", "pos": 18, "end": 19, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 18, "end": 19, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "K" } }, @@ -29,10 +36,13 @@ "kind": "TypeParameter", "pos": 20, "end": 21, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 20, "end": 21, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "V" } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json index 5a9127ccfdf..15f7224ca5e 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 27, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 22, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 17, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "template" }, "typeParameters": { @@ -18,10 +22,13 @@ "kind": "TypeParameter", "pos": 18, "end": 19, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 18, "end": 19, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "K" } }, @@ -29,10 +36,13 @@ "kind": "TypeParameter", "pos": 21, "end": 22, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 21, "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "V" } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json index 5a9127ccfdf..15f7224ca5e 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 27, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 22, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 17, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "template" }, "typeParameters": { @@ -18,10 +22,13 @@ "kind": "TypeParameter", "pos": 18, "end": 19, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 18, "end": 19, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "K" } }, @@ -29,10 +36,13 @@ "kind": "TypeParameter", "pos": 21, "end": 22, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 21, "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "V" } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json index eec9555c363..936de5fab9d 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 28, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 23, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 17, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "template" }, "typeParameters": { @@ -18,10 +22,13 @@ "kind": "TypeParameter", "pos": 18, "end": 19, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 18, "end": 19, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "K" } }, @@ -29,10 +36,13 @@ "kind": "TypeParameter", "pos": 22, "end": 23, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 22, "end": 23, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "V" } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json index 778af6902a9..969447daa61 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json @@ -2,15 +2,19 @@ "kind": "JSDocComment", "pos": 0, "end": 60, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 24, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 17, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "template" }, "typeParameters": { @@ -18,10 +22,13 @@ "kind": "TypeParameter", "pos": 18, "end": 19, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 18, "end": 19, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "K" } }, @@ -29,10 +36,13 @@ "kind": "TypeParameter", "pos": 22, "end": 23, + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 22, "end": 23, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "V" } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json index 9963937db5c..6e6c8502a42 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json @@ -2,5 +2,6 @@ "kind": "JSDocComment", "pos": 0, "end": 7, + "modifierFlagsCache": 0, "comment": "*" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json index 38997b2e70f..f13988e1dc7 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 60, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 34, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 15, "end": 23, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 16, - "end": 22 + "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 24, "end": 29, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, @@ -36,26 +45,34 @@ "kind": "JSDocParameterTag", "pos": 34, "end": 58, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 35, "end": 40, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 41, "end": 49, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 42, - "end": 48 + "end": 48, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 50, "end": 55, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name2" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json index f74d57ad4d6..d63ee0cf9b5 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json @@ -2,31 +2,40 @@ "kind": "JSDocComment", "pos": 0, "end": 56, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 30, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 14, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 15, "end": 23, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 16, - "end": 22 + "end": 22, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 24, "end": 29, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name1" }, "isNameFirst": false, @@ -36,26 +45,34 @@ "kind": "JSDocParameterTag", "pos": 30, "end": 54, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 31, "end": 36, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "param" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 37, "end": 45, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 38, - "end": 44 + "end": 44, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 46, "end": 51, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name2" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json index 9da2d2f2646..c6015abc822 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json @@ -2,25 +2,32 @@ "kind": "JSDocComment", "pos": 0, "end": 27, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTypeTag", "pos": 8, "end": 22, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 13, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "type" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 14, "end": 22, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 15, - "end": 21 + "end": 21, + "modifierFlagsCache": 0, + "transformFlags": 0 } } }, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json index dcc611bff2d..f11a77aaebd 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json @@ -2,58 +2,75 @@ "kind": "JSDocComment", "pos": 0, "end": 102, + "modifierFlagsCache": 0, "tags": { "0": { "kind": "JSDocTypedefTag", "pos": 8, "end": 100, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 9, "end": 16, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "typedef" }, "fullName": { "kind": "Identifier", "pos": 17, "end": 23, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "People" }, "name": { "kind": "Identifier", "pos": 17, "end": 23, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "People" }, "typeExpression": { "kind": "JSDocTypeLiteral", "pos": 8, "end": 100, + "modifierFlagsCache": 0, "jsDocPropertyTags": [ { "kind": "JSDocPropertyTag", "pos": 47, "end": 74, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 48, "end": 56, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "property" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 57, "end": 65, + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 58, - "end": 64 + "end": 64, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 66, "end": 69, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "age" }, "isNameFirst": false, @@ -63,26 +80,34 @@ "kind": "JSDocPropertyTag", "pos": 74, "end": 100, + "modifierFlagsCache": 0, "tagName": { "kind": "Identifier", "pos": 75, "end": 83, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "property" }, "typeExpression": { "kind": "JSDocTypeExpression", "pos": 84, "end": 92, + "modifierFlagsCache": 0, "type": { "kind": "StringKeyword", "pos": 85, - "end": 91 + "end": 91, + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "name": { "kind": "Identifier", "pos": 93, "end": 97, + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "name" }, "isNameFirst": false, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json index 7fb632c7a35..6a0cc74a7a0 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json @@ -2,5 +2,6 @@ "kind": "JSDocAllType", "pos": 1, "end": 2, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json index a634587d23a..42a7f212da6 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json @@ -3,16 +3,20 @@ "pos": 1, "end": 4, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementType": { "kind": "TypeReference", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json index 8db394910fb..53aa1c2553b 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json @@ -3,21 +3,26 @@ "pos": 1, "end": 6, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementType": { "kind": "ArrayType", "pos": 1, "end": 4, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementType": { "kind": "TypeReference", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json index 65eba602cce..ab4d31172c0 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json @@ -3,31 +3,38 @@ "pos": 1, "end": 9, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "ParenthesizedType", "pos": 1, "end": 8, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "ArrayType", "pos": 2, "end": 7, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementType": { "kind": "ArrayType", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementType": { "kind": "TypeReference", "pos": 2, "end": 3, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 2, "end": 3, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json index 6c00c3a8912..fe6385ae0b5 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json @@ -3,12 +3,14 @@ "pos": 1, "end": 13, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "CallSignature", "pos": 2, "end": 12, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "length": 0, "pos": 3, @@ -18,7 +20,9 @@ "kind": "NumberKeyword", "pos": 5, "end": 12, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "length": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json index d33287fb251..e19a8211068 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json @@ -3,17 +3,21 @@ "pos": 1, "end": 26, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "0": { "kind": "Parameter", "pos": 10, "end": 16, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "StringKeyword", "pos": 10, "end": 16, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "1": { @@ -21,11 +25,14 @@ "pos": 17, "end": 25, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "BooleanKeyword", "pos": 17, "end": 25, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "length": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json index c589fd75317..23a1dce5ead 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json @@ -3,6 +3,7 @@ "pos": 1, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "length": 0, "pos": 10, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json index d33287fb251..e19a8211068 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json @@ -3,17 +3,21 @@ "pos": 1, "end": 26, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "0": { "kind": "Parameter", "pos": 10, "end": 16, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "StringKeyword", "pos": 10, "end": 16, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "1": { @@ -21,11 +25,14 @@ "pos": 17, "end": 25, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "BooleanKeyword", "pos": 17, "end": 25, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "length": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json index d686922eecf..bd293cb8087 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json @@ -3,22 +3,27 @@ "pos": 1, "end": 13, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "0": { "kind": "Parameter", "pos": 10, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "TypeReference", "pos": 10, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 10, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json index 4cac38e9e37..e68aa8ffd93 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json @@ -3,11 +3,14 @@ "pos": 1, "end": 4, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 1, "end": 4, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "originalKeywordKind": "VarKeyword", "escapedText": "var" } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json index a733da557af..4259856647a 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json @@ -2,5 +2,7 @@ "kind": "NullKeyword", "pos": 1, "end": 5, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json index c991d6cecc4..7fc6b62acdc 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json @@ -2,5 +2,7 @@ "kind": "UndefinedKeyword", "pos": 1, "end": 10, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json index 3d94654aa19..1927b36e25d 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json @@ -3,17 +3,21 @@ "pos": 1, "end": 16, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "MethodSignature", "pos": 2, "end": 15, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" }, "parameters": { @@ -25,7 +29,9 @@ "kind": "NumberKeyword", "pos": 8, "end": 15, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "length": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json index 7c134915cf2..a7768a1700f 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json @@ -3,17 +3,21 @@ "pos": 1, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "0": { "kind": "Parameter", "pos": 10, "end": 17, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 10, "end": 13, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "originalKeywordKind": "NewKeyword", "escapedText": "new" }, @@ -22,16 +26,20 @@ "pos": 14, "end": 17, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "FirstNode", "pos": 14, "end": 17, "flags": "JSDoc", + "modifierFlagsCache": 0, "left": { "kind": "Identifier", "pos": 14, "end": 15, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" }, "right": { @@ -39,6 +47,8 @@ "pos": 16, "end": 17, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "b" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json index 5096e2c5ae1..dd909dcc99b 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json @@ -3,10 +3,13 @@ "pos": 1, "end": 8, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 2, "end": 8, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json index 75bed7d45b6..0a332cda907 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json @@ -3,10 +3,13 @@ "pos": 1, "end": 8, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 1, "end": 7, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json index 3b57e9c760a..2c33b74ff9c 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json @@ -3,10 +3,13 @@ "pos": 1, "end": 8, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 2, "end": 8, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json index 1f0adde5ee1..ac21376b0f3 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json @@ -3,10 +3,13 @@ "pos": 1, "end": 8, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 1, "end": 7, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json index 069de4aa09d..ee638a35262 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json @@ -3,10 +3,12 @@ "pos": 1, "end": 3, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "JSDocUnknownType", "pos": 1, "end": 2, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json index 9faa4db0744..da601ac28dd 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json @@ -3,10 +3,13 @@ "pos": 1, "end": 8, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 1, "end": 7, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json index eb669992ca2..54a20c1bd3d 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json @@ -3,6 +3,7 @@ "pos": 1, "end": 3, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "length": 0, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json index c1a48a6c385..b12aef4af5d 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json @@ -3,17 +3,21 @@ "pos": 1, "end": 6, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" } }, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json index b21dae3e77c..f0942a84957 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json @@ -3,24 +3,30 @@ "pos": 1, "end": 14, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 13, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" }, "type": { "kind": "NumberKeyword", "pos": 6, "end": 13, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "length": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json index a3c37d1efab..fcd0ce2a40e 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json @@ -3,17 +3,21 @@ "pos": 1, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 6, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" } }, @@ -22,11 +26,14 @@ "pos": 6, "end": 10, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 6, "end": 10, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "bar" } }, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json index 30949ee9ab4..cac21bf57a7 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json @@ -3,24 +3,30 @@ "pos": 1, "end": 19, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 14, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" }, "type": { "kind": "NumberKeyword", "pos": 6, "end": 13, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "1": { @@ -28,11 +34,14 @@ "pos": 14, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 14, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "bar" } }, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json index 396645856a8..265422f1975 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json @@ -3,17 +3,21 @@ "pos": 1, "end": 19, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 6, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" } }, @@ -22,18 +26,23 @@ "pos": 6, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 6, "end": 10, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "bar" }, "type": { "kind": "NumberKeyword", "pos": 11, "end": 18, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "length": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json index c8eba7da464..4c695f884f4 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json @@ -3,24 +3,30 @@ "pos": 1, "end": 27, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 14, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "foo" }, "type": { "kind": "NumberKeyword", "pos": 6, "end": 13, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "1": { @@ -28,18 +34,23 @@ "pos": 14, "end": 26, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 14, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "bar" }, "type": { "kind": "NumberKeyword", "pos": 19, "end": 26, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } }, "length": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json index c851d76a6fe..017274dc0a6 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json @@ -3,17 +3,21 @@ "pos": 1, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 10, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 10, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "originalKeywordKind": "FunctionKeyword", "escapedText": "function" } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json index 68e4ab1e83c..5e686623252 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json @@ -3,17 +3,21 @@ "pos": 1, "end": 19, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "0": { "kind": "Parameter", "pos": 10, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 10, "end": 14, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "originalKeywordKind": "ThisKeyword", "escapedText": "this" }, @@ -22,16 +26,20 @@ "pos": 15, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "FirstNode", "pos": 15, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, "left": { "kind": "Identifier", "pos": 15, "end": 16, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" }, "right": { @@ -39,6 +47,8 @@ "pos": 17, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "b" } } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json index 3ca80d437b5..5d6caa1c2ab 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json @@ -3,18 +3,23 @@ "pos": 1, "end": 14, "flags": "JSDoc", + "modifierFlagsCache": 0, "types": { "0": { "kind": "NumberKeyword", "pos": 1, "end": 7, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "1": { "kind": "StringKeyword", "pos": 8, "end": 14, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 2, "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json index 70aff3b7298..29a5c33f01e 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json @@ -3,17 +3,21 @@ "pos": 1, "end": 5, "flags": "JSDoc", + "modifierFlagsCache": 0, "members": { "0": { "kind": "PropertySignature", "pos": 2, "end": 4, "flags": "JSDoc", + "modifierFlagsCache": 0, "name": { "kind": "Identifier", "pos": 2, "end": 3, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" } }, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json index 1b124c78dac..cde663ed573 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json @@ -3,6 +3,7 @@ "pos": 1, "end": 17, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "length": 0, "pos": 6, @@ -12,6 +13,8 @@ "kind": "StringKeyword", "pos": 10, "end": 17, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json index 32dd097a8f9..a7162e27e4f 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json @@ -3,6 +3,7 @@ "pos": 1, "end": 13, "flags": "JSDoc", + "modifierFlagsCache": 0, "parameters": { "length": 0, "pos": 2, @@ -12,6 +13,8 @@ "kind": "StringKeyword", "pos": 6, "end": 13, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json index 979f7e1d783..0c39aed310f 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json @@ -3,6 +3,7 @@ "pos": 1, "end": 3, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementTypes": { "length": 0, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json index 9f913923b68..78d6a54ae27 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json @@ -3,12 +3,15 @@ "pos": 1, "end": 9, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementTypes": { "0": { "kind": "NumberKeyword", "pos": 2, "end": 8, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 1, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json index 9b87dc74995..a40d8720501 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json @@ -3,18 +3,23 @@ "pos": 1, "end": 16, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementTypes": { "0": { "kind": "NumberKeyword", "pos": 2, "end": 8, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "1": { "kind": "StringKeyword", "pos": 9, "end": 15, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 2, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json index 5877b92ae64..a204f66ac68 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json @@ -3,24 +3,31 @@ "pos": 1, "end": 24, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementTypes": { "0": { "kind": "NumberKeyword", "pos": 2, "end": 8, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "1": { "kind": "StringKeyword", "pos": 9, "end": 15, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "2": { "kind": "BooleanKeyword", "pos": 16, "end": 23, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 3, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json index 48438f90c68..15978b23a42 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json @@ -3,12 +3,15 @@ "pos": 1, "end": 10, "flags": "JSDoc", + "modifierFlagsCache": 0, "elementTypes": { "0": { "kind": "NumberKeyword", "pos": 2, "end": 8, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 1, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json index 1ac2aec383a..40586c94c27 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json @@ -3,11 +3,14 @@ "pos": 1, "end": 4, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" }, "typeArguments": { diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json index 7efe99ca991..705f95e84d0 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json @@ -3,11 +3,14 @@ "pos": 1, "end": 9, "flags": "JSDoc", + "modifierFlagsCache": 0, "exprName": { "kind": "Identifier", "pos": 7, "end": 9, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "M" } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json index dc59fdf9ae1..d6b6cdbaac8 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json @@ -3,11 +3,14 @@ "pos": 1, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a", "jsdocDotPos": 2 }, @@ -16,7 +19,9 @@ "kind": "NumberKeyword", "pos": 4, "end": 10, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 1, "pos": 4, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json index 8890aad35eb..98c16e1cfbd 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json @@ -3,11 +3,14 @@ "pos": 1, "end": 18, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "Identifier", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a", "jsdocDotPos": 2 }, @@ -16,13 +19,17 @@ "kind": "NumberKeyword", "pos": 4, "end": 10, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "1": { "kind": "StringKeyword", "pos": 11, "end": 17, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 2, "pos": 4, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json index 3fadecba2d5..e42e2a1e072 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json @@ -3,16 +3,20 @@ "pos": 1, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "typeName": { "kind": "FirstNode", "pos": 1, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, "left": { "kind": "Identifier", "pos": 1, "end": 2, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "escapedText": "a" }, "right": { @@ -20,6 +24,8 @@ "pos": 3, "end": 11, "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, "originalKeywordKind": "FunctionKeyword", "escapedText": "function" } diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json index a6e8ab18df2..d283f070e58 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json @@ -3,23 +3,29 @@ "pos": 1, "end": 16, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "UnionType", "pos": 2, "end": 15, "flags": "JSDoc", + "modifierFlagsCache": 0, "types": { "0": { "kind": "NumberKeyword", "pos": 2, "end": 8, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "1": { "kind": "StringKeyword", "pos": 9, "end": 15, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 }, "length": 2, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json index 3dff66b0347..86128b019fb 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json @@ -2,5 +2,6 @@ "kind": "JSDocUnknownType", "pos": 1, "end": 2, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json index 00b950750e9..28635296637 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json @@ -3,10 +3,13 @@ "pos": 1, "end": 10, "flags": "JSDoc", + "modifierFlagsCache": 0, "type": { "kind": "NumberKeyword", "pos": 4, "end": 10, - "flags": "JSDoc" + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file From 0c7a7df09dbd6e25f5adf63b7ef31594bf213e81 Mon Sep 17 00:00:00 2001 From: Benedikt Meurer Date: Wed, 6 Feb 2019 20:57:02 +0100 Subject: [PATCH 15/21] Also initialize transformFlags properly in NodeObjects. --- src/services/services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/services.ts b/src/services/services.ts index 7092fd05f41..622c9de7ba3 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -29,7 +29,7 @@ namespace ts { this.end = end; this.flags = NodeFlags.None; this.modifierFlagsCache = ModifierFlags.None; - this.transformFlags = undefined!; // TODO: GH#18217 + this.transformFlags = TransformFlags.None; this.parent = undefined!; this.kind = kind; } From 056028b4c656ecd64e1ab85b6e02d05511060116 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 6 Feb 2019 13:10:36 -0800 Subject: [PATCH 16/21] Modifies the jakefile to use the LKG by default unless USE_BUILT=true is set --- Jakefile.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Jakefile.js b/Jakefile.js index ea81881e7d9..c6b1cde9d4e 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -23,6 +23,10 @@ else if (process.env.PATH !== undefined) { const host = process.env.TYPESCRIPT_HOST || process.env.host || "node"; const defaultTestTimeout = 40000; +const useBuilt = + process.env.USE_BUILT === "true" ? true : + process.env.LKG === "true" ? false : + false; let useDebugMode = true; @@ -296,7 +300,7 @@ task(TaskNames.buildFoldEnd, [], function () { desc("Compiles tslint rules to js"); task(TaskNames.buildRules, [], function () { - tsbuild(ConfigFileFor.lint, false, () => complete()); + tsbuild(ConfigFileFor.lint, !useBuilt, () => complete()); }, { async: true }); desc("Cleans the compiler output, declare files, and tests"); @@ -368,7 +372,7 @@ file(ConfigFileFor.tsserverLibrary, [], function () { // tsserverlibrary.js // tsserverlibrary.d.ts file(Paths.tsserverLibraryFile, [TaskNames.coreBuild, ConfigFileFor.tsserverLibrary], function() { - tsbuild(ConfigFileFor.tsserverLibrary, false, () => { + tsbuild(ConfigFileFor.tsserverLibrary, !useBuilt, () => { if (needsUpdate([Paths.tsserverLibraryOutFile, Paths.tsserverLibraryDefinitionOutFile], [Paths.tsserverLibraryFile, Paths.tsserverLibraryDefinitionFile])) { const copyright = readFileSync(Paths.copyright); @@ -427,7 +431,7 @@ file(ConfigFileFor.typescriptServices, [], function () { // typescriptServices.js // typescriptServices.d.ts file(Paths.servicesFile, [TaskNames.coreBuild, ConfigFileFor.typescriptServices], function() { - tsbuild(ConfigFileFor.typescriptServices, false, () => { + tsbuild(ConfigFileFor.typescriptServices, !useBuilt, () => { if (needsUpdate([Paths.servicesOutFile, Paths.servicesDefinitionOutFile], [Paths.servicesFile, Paths.servicesDefinitionFile])) { const copyright = readFileSync(Paths.copyright); From fb1b7a218a1534b2e0e490da983efeeb6a88bc07 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 6 Feb 2019 16:35:09 -0800 Subject: [PATCH 17/21] Accept baseline diff --- tests/baselines/reference/api/tsserverlibrary.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index ee13a377f5e..8f2f0c8cbbd 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -8346,7 +8346,7 @@ declare namespace ts.server { excludedFiles: ReadonlyArray; private typeAcquisition; updateGraph(): boolean; - getExcludedFiles(): readonly NormalizedPath[]; + getExcludedFiles(): ReadonlyArray; getTypeAcquisition(): TypeAcquisition; setTypeAcquisition(newTypeAcquisition: TypeAcquisition): void; } From 5a6dc081f6dc404157552deaf8eac5aa93ae16b5 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 7 Feb 2019 10:01:36 +0900 Subject: [PATCH 18/21] revive esnext.asynciterable --- src/compiler/commandLineParser.ts | 1 + src/testRunner/unittests/config/commandLineParsing.ts | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 55a74bc3cfb..ec34adc1d2a 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -44,6 +44,7 @@ namespace ts { ["es2018.regexp", "lib.es2018.regexp.d.ts"], ["esnext.array", "lib.esnext.array.d.ts"], ["esnext.symbol", "lib.esnext.symbol.d.ts"], + ["esnext.asynciterable", "lib.es2018.asynciterable.d.ts"], ["esnext.intl", "lib.esnext.intl.d.ts"], ["esnext.bigint", "lib.esnext.bigint.d.ts"] ]; diff --git a/src/testRunner/unittests/config/commandLineParsing.ts b/src/testRunner/unittests/config/commandLineParsing.ts index e5cdba2440c..a97784cb321 100644 --- a/src/testRunner/unittests/config/commandLineParsing.ts +++ b/src/testRunner/unittests/config/commandLineParsing.ts @@ -57,7 +57,7 @@ namespace ts { assertParseResult(["--lib", "es5,invalidOption", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl', 'esnext.bigint'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -259,7 +259,7 @@ namespace ts { assertParseResult(["--lib", "es5,", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl', 'esnext.bigint'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -278,7 +278,7 @@ namespace ts { assertParseResult(["--lib", "es5, ", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.intl', 'esnext.bigint'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, From 5043bf72f5baefbac541a88ea3be5976cf631ec7 Mon Sep 17 00:00:00 2001 From: kpreisser Date: Thu, 7 Feb 2019 09:01:27 +0100 Subject: [PATCH 19/21] PR feedback. --- src/compiler/core.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index c0d5cae7bae..1e02da30c39 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -260,7 +260,7 @@ namespace ts { } clear(): void { - this.data = createDictionaryObject(); + this.data = createDictionaryObject>(); this.size = 0; // Reset the linked list. Note that we must adjust the forward From 0ee8b9d2e9406d70ec7f0a1b62614884c869b81c Mon Sep 17 00:00:00 2001 From: Benedikt Meurer Date: Thu, 7 Feb 2019 19:59:57 +0100 Subject: [PATCH 20/21] Ran `gulp baseline-accept` again to rebaseline the JSDoc tests --- .../DocComments.parsesCorrectly.@link tags.json | 2 ++ .../DocComments.parsesCorrectly.Nested @param tags.json | 7 +++++++ .../DocComments.parsesCorrectly.argSynonymForParamTag.json | 3 +++ ...omments.parsesCorrectly.argumentSynonymForParamTag.json | 3 +++ .../DocComments.parsesCorrectly.asteriskAfterPreamble.json | 1 + .../DocComments.parsesCorrectly.emptyComment.json | 3 ++- .../DocComments.parsesCorrectly.leadingAsterisk.json | 3 +++ ...sesCorrectly.less-than and greater-than characters.json | 2 ++ .../DocComments.parsesCorrectly.noLeadingAsterisk.json | 3 +++ .../DocComments.parsesCorrectly.noReturnType.json | 2 ++ .../DocComments.parsesCorrectly.oneParamTag.json | 3 +++ .../DocComments.parsesCorrectly.paramTag1.json | 3 +++ ...DocComments.parsesCorrectly.paramTagBracketedName1.json | 3 +++ ...DocComments.parsesCorrectly.paramTagBracketedName2.json | 3 +++ .../DocComments.parsesCorrectly.paramTagNameThenType1.json | 3 +++ .../DocComments.parsesCorrectly.paramTagNameThenType2.json | 3 +++ .../DocComments.parsesCorrectly.paramWithoutType.json | 2 ++ .../DocComments.parsesCorrectly.returnTag1.json | 3 +++ .../DocComments.parsesCorrectly.returnTag2.json | 3 +++ .../DocComments.parsesCorrectly.returnsTag1.json | 3 +++ .../DocComments.parsesCorrectly.templateTag.json | 3 +++ .../DocComments.parsesCorrectly.templateTag2.json | 4 ++++ .../DocComments.parsesCorrectly.templateTag3.json | 4 ++++ .../DocComments.parsesCorrectly.templateTag4.json | 4 ++++ .../DocComments.parsesCorrectly.templateTag5.json | 4 ++++ .../DocComments.parsesCorrectly.templateTag6.json | 4 ++++ .../DocComments.parsesCorrectly.threeAsterisks.json | 1 + .../DocComments.parsesCorrectly.twoParamTag2.json | 5 +++++ .../DocComments.parsesCorrectly.twoParamTagOnSameLine.json | 5 +++++ .../JSDocParsing/DocComments.parsesCorrectly.typeTag.json | 3 +++ ...omments.parsesCorrectly.typedefTagWithChildrenTags.json | 7 +++++++ .../TypeExpressions.parsesCorrectly.allType.json | 3 ++- .../TypeExpressions.parsesCorrectly.arrayType1.json | 2 ++ .../TypeExpressions.parsesCorrectly.arrayType2.json | 3 +++ .../TypeExpressions.parsesCorrectly.arrayType3.json | 5 +++++ ...ressions.parsesCorrectly.callSignatureInRecordType.json | 2 ++ ...ypeExpressions.parsesCorrectly.functionReturnType1.json | 3 +++ .../TypeExpressions.parsesCorrectly.functionType1.json | 1 + .../TypeExpressions.parsesCorrectly.functionType2.json | 3 +++ ...ions.parsesCorrectly.functionTypeWithTrailingComma.json | 3 +++ .../TypeExpressions.parsesCorrectly.keyword1.json | 1 + ...TypeExpressions.parsesCorrectly.methodInRecordType.json | 2 ++ .../TypeExpressions.parsesCorrectly.newType1.json | 4 ++++ .../TypeExpressions.parsesCorrectly.nonNullableType.json | 1 + .../TypeExpressions.parsesCorrectly.nonNullableType2.json | 1 + .../TypeExpressions.parsesCorrectly.nullableType.json | 1 + .../TypeExpressions.parsesCorrectly.nullableType2.json | 1 + .../TypeExpressions.parsesCorrectly.optionalNullable.json | 4 +++- .../TypeExpressions.parsesCorrectly.optionalType.json | 1 + .../TypeExpressions.parsesCorrectly.recordType1.json | 1 + .../TypeExpressions.parsesCorrectly.recordType2.json | 2 ++ .../TypeExpressions.parsesCorrectly.recordType3.json | 2 ++ .../TypeExpressions.parsesCorrectly.recordType4.json | 3 +++ .../TypeExpressions.parsesCorrectly.recordType5.json | 3 +++ .../TypeExpressions.parsesCorrectly.recordType6.json | 3 +++ .../TypeExpressions.parsesCorrectly.recordType7.json | 3 +++ .../TypeExpressions.parsesCorrectly.recordType8.json | 2 ++ .../TypeExpressions.parsesCorrectly.thisType1.json | 4 ++++ ...pressions.parsesCorrectly.topLevelNoParenUnionType.json | 1 + ...ressions.parsesCorrectly.trailingCommaInRecordType.json | 2 ++ .../TypeExpressions.parsesCorrectly.tsConstructorType.json | 1 + .../TypeExpressions.parsesCorrectly.tsFunctionType.json | 1 + .../TypeExpressions.parsesCorrectly.tupleType0.json | 1 + .../TypeExpressions.parsesCorrectly.tupleType1.json | 1 + .../TypeExpressions.parsesCorrectly.tupleType2.json | 1 + .../TypeExpressions.parsesCorrectly.tupleType3.json | 1 + ...essions.parsesCorrectly.tupleTypeWithTrailingComma.json | 1 + ...sions.parsesCorrectly.typeArgumentsNotFollowingDot.json | 1 + .../TypeExpressions.parsesCorrectly.typeOfType.json | 1 + .../TypeExpressions.parsesCorrectly.typeReference1.json | 1 + .../TypeExpressions.parsesCorrectly.typeReference2.json | 1 + .../TypeExpressions.parsesCorrectly.typeReference3.json | 2 ++ .../TypeExpressions.parsesCorrectly.unionType.json | 2 ++ .../TypeExpressions.parsesCorrectly.unknownType.json | 3 ++- .../TypeExpressions.parsesCorrectly.variadicType.json | 1 + 75 files changed, 184 insertions(+), 4 deletions(-) diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json index c91e53dad87..0cf9640d8b7 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.@link tags.json @@ -3,12 +3,14 @@ "pos": 0, "end": 127, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTag", "pos": 63, "end": 68, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 64, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json index 49bf7956cfe..3eb18224068 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.Nested @param tags.json @@ -3,12 +3,14 @@ "pos": 0, "end": 66, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 6, "end": 64, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 7, @@ -22,17 +24,20 @@ "pos": 34, "end": 64, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "JSDocTypeLiteral", "pos": 34, "end": 64, "modifierFlagsCache": 0, + "transformFlags": 0, "jsDocPropertyTags": [ { "kind": "JSDocParameterTag", "pos": 34, "end": 64, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 35, @@ -46,6 +51,7 @@ "pos": 41, "end": 49, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "StringKeyword", "pos": 42, @@ -59,6 +65,7 @@ "pos": 50, "end": 53, "modifierFlagsCache": 0, + "transformFlags": 0, "left": { "kind": "Identifier", "pos": 50, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json index 3ed8059ca07..04160cb1848 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argSynonymForParamTag.json @@ -3,12 +3,14 @@ "pos": 0, "end": 44, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 42, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 13, "end": 21, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 14, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json index 5264a478d42..cd2e8dcc822 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.argumentSynonymForParamTag.json @@ -3,12 +3,14 @@ "pos": 0, "end": 49, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 47, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 18, "end": 26, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 19, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json index 550d5a04100..94083d05508 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.asteriskAfterPreamble.json @@ -3,5 +3,6 @@ "pos": 0, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "comment": "* @type {number}" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json index 87427bdffef..10cfd883c98 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.emptyComment.json @@ -2,5 +2,6 @@ "kind": "JSDocComment", "pos": 0, "end": 5, - "modifierFlagsCache": 0 + "modifierFlagsCache": 0, + "transformFlags": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json index c6015abc822..ec99bbafe5f 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json @@ -3,12 +3,14 @@ "pos": 0, "end": 27, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTypeTag", "pos": 8, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 14, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 15, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json index f9d7d8d19d1..642fde1b7da 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.less-than and greater-than characters.json @@ -3,12 +3,14 @@ "pos": 0, "end": 61, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 7, "end": 59, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 8, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json index c6015abc822..ec99bbafe5f 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json @@ -3,12 +3,14 @@ "pos": 0, "end": 27, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTypeTag", "pos": 8, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 14, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 15, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json index fc6f2729c14..11ea4b772cc 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json @@ -3,12 +3,14 @@ "pos": 0, "end": 20, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 15, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json index ef679fb9b60..b153b897d74 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json @@ -3,12 +3,14 @@ "pos": 0, "end": 34, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 32, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 15, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 16, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json index 51731febb84..b77c09d380e 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json @@ -3,12 +3,14 @@ "pos": 0, "end": 59, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 57, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 15, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 16, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json index 439ce11bd56..f30f67c5394 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json @@ -3,12 +3,14 @@ "pos": 0, "end": 61, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 59, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 15, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 16, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json index 18d85c73f9e..6c8c57a5347 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json @@ -3,12 +3,14 @@ "pos": 0, "end": 66, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 64, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 15, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 16, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json index a46b2c4e203..1d515fd8eb0 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json @@ -3,12 +3,14 @@ "pos": 0, "end": 34, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 29, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 21, "end": 29, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 22, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json index f6e1f1e6a96..cf503702588 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json @@ -3,12 +3,14 @@ "pos": 0, "end": 46, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 44, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 21, "end": 29, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 22, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json index f5d96e39608..ec4a36acc53 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json @@ -3,12 +3,14 @@ "pos": 0, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 21, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json index a8fd2b05ad1..1e43cee5930 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json @@ -3,12 +3,14 @@ "pos": 0, "end": 29, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 24, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 16, "end": 24, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 17, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json index 286e877d6f6..42c3c74327b 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json @@ -3,12 +3,14 @@ "pos": 0, "end": 54, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 24, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 16, "end": 24, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 17, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json index 097e788594d..2170ab303bb 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json @@ -3,12 +3,14 @@ "pos": 0, "end": 30, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocReturnTag", "pos": 8, "end": 25, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 17, "end": 25, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 18, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json index cf03d724714..6f63982375d 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json @@ -3,12 +3,14 @@ "pos": 0, "end": 24, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 19, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -23,6 +25,7 @@ "pos": 18, "end": 19, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 18, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json index 346e00f6b37..25d1916f4b4 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json @@ -3,12 +3,14 @@ "pos": 0, "end": 26, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 21, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -23,6 +25,7 @@ "pos": 18, "end": 19, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 18, @@ -37,6 +40,7 @@ "pos": 20, "end": 21, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 20, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json index 15f7224ca5e..e8367c03624 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json @@ -3,12 +3,14 @@ "pos": 0, "end": 27, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -23,6 +25,7 @@ "pos": 18, "end": 19, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 18, @@ -37,6 +40,7 @@ "pos": 21, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 21, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json index 15f7224ca5e..e8367c03624 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json @@ -3,12 +3,14 @@ "pos": 0, "end": 27, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -23,6 +25,7 @@ "pos": 18, "end": 19, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 18, @@ -37,6 +40,7 @@ "pos": 21, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 21, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json index 936de5fab9d..7d1ecb252a6 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json @@ -3,12 +3,14 @@ "pos": 0, "end": 28, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -23,6 +25,7 @@ "pos": 18, "end": 19, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 18, @@ -37,6 +40,7 @@ "pos": 22, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 22, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json index 969447daa61..af38432f2e0 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json @@ -3,12 +3,14 @@ "pos": 0, "end": 60, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTemplateTag", "pos": 8, "end": 24, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -23,6 +25,7 @@ "pos": 18, "end": 19, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 18, @@ -37,6 +40,7 @@ "pos": 22, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 22, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json index 6e6c8502a42..6b26905e200 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.threeAsterisks.json @@ -3,5 +3,6 @@ "pos": 0, "end": 7, "modifierFlagsCache": 0, + "transformFlags": 0, "comment": "*" } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json index f13988e1dc7..a9c8c5b4d3e 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json @@ -3,12 +3,14 @@ "pos": 0, "end": 60, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 34, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 15, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 16, @@ -46,6 +49,7 @@ "pos": 34, "end": 58, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 35, @@ -59,6 +63,7 @@ "pos": 41, "end": 49, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 42, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json index d63ee0cf9b5..7e420be3441 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json @@ -3,12 +3,14 @@ "pos": 0, "end": 56, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocParameterTag", "pos": 8, "end": 30, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 15, "end": 23, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 16, @@ -46,6 +49,7 @@ "pos": 30, "end": 54, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 31, @@ -59,6 +63,7 @@ "pos": 37, "end": 45, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 38, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json index c6015abc822..ec99bbafe5f 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json @@ -3,12 +3,14 @@ "pos": 0, "end": 27, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTypeTag", "pos": 8, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -22,6 +24,7 @@ "pos": 14, "end": 22, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 15, diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json index f11a77aaebd..85ab7e185c4 100644 --- a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json @@ -3,12 +3,14 @@ "pos": 0, "end": 102, "modifierFlagsCache": 0, + "transformFlags": 0, "tags": { "0": { "kind": "JSDocTypedefTag", "pos": 8, "end": 100, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 9, @@ -38,12 +40,14 @@ "pos": 8, "end": 100, "modifierFlagsCache": 0, + "transformFlags": 0, "jsDocPropertyTags": [ { "kind": "JSDocPropertyTag", "pos": 47, "end": 74, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 48, @@ -57,6 +61,7 @@ "pos": 57, "end": 65, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 58, @@ -81,6 +86,7 @@ "pos": 74, "end": 100, "modifierFlagsCache": 0, + "transformFlags": 0, "tagName": { "kind": "Identifier", "pos": 75, @@ -94,6 +100,7 @@ "pos": 84, "end": 92, "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "StringKeyword", "pos": 85, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json index 6a0cc74a7a0..b4e63a78519 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json @@ -3,5 +3,6 @@ "pos": 1, "end": 2, "flags": "JSDoc", - "modifierFlagsCache": 0 + "modifierFlagsCache": 0, + "transformFlags": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json index 42a7f212da6..b7a03178849 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json @@ -4,12 +4,14 @@ "end": 4, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementType": { "kind": "TypeReference", "pos": 1, "end": 2, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json index 53aa1c2553b..eab26833416 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json @@ -4,18 +4,21 @@ "end": 6, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementType": { "kind": "ArrayType", "pos": 1, "end": 4, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementType": { "kind": "TypeReference", "pos": 1, "end": 2, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json index ab4d31172c0..41333f0fec0 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json @@ -4,30 +4,35 @@ "end": 9, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "ParenthesizedType", "pos": 1, "end": 8, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "ArrayType", "pos": 2, "end": 7, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementType": { "kind": "ArrayType", "pos": 2, "end": 5, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementType": { "kind": "TypeReference", "pos": 2, "end": 3, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json index fe6385ae0b5..082dc651906 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.callSignatureInRecordType.json @@ -4,6 +4,7 @@ "end": 13, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "CallSignature", @@ -11,6 +12,7 @@ "end": 12, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "length": 0, "pos": 3, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json index e19a8211068..f1e75c25a31 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json @@ -4,6 +4,7 @@ "end": 26, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "0": { "kind": "Parameter", @@ -11,6 +12,7 @@ "end": 16, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "StringKeyword", "pos": 10, @@ -26,6 +28,7 @@ "end": 25, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "BooleanKeyword", "pos": 17, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json index 23a1dce5ead..6d466db8c64 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json @@ -4,6 +4,7 @@ "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "length": 0, "pos": 10, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json index e19a8211068..f1e75c25a31 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json @@ -4,6 +4,7 @@ "end": 26, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "0": { "kind": "Parameter", @@ -11,6 +12,7 @@ "end": 16, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "StringKeyword", "pos": 10, @@ -26,6 +28,7 @@ "end": 25, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "BooleanKeyword", "pos": 17, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json index bd293cb8087..e8fe1d2d3bb 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionTypeWithTrailingComma.json @@ -4,6 +4,7 @@ "end": 13, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "0": { "kind": "Parameter", @@ -11,12 +12,14 @@ "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "TypeReference", "pos": 10, "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 10, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json index e68aa8ffd93..798749477c1 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json @@ -4,6 +4,7 @@ "end": 4, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json index 1927b36e25d..b0960589a80 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.methodInRecordType.json @@ -4,6 +4,7 @@ "end": 16, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "MethodSignature", @@ -11,6 +12,7 @@ "end": 15, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json index a7768a1700f..53a5267c708 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json @@ -4,6 +4,7 @@ "end": 18, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "0": { "kind": "Parameter", @@ -11,6 +12,7 @@ "end": 17, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 10, @@ -27,12 +29,14 @@ "end": 17, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "FirstNode", "pos": 14, "end": 17, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "left": { "kind": "Identifier", "pos": 14, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json index dd909dcc99b..ff21ba236e2 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json @@ -4,6 +4,7 @@ "end": 8, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json index 0a332cda907..f4e88254a56 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json @@ -4,6 +4,7 @@ "end": 8, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json index 2c33b74ff9c..3c9b183a7c4 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json @@ -4,6 +4,7 @@ "end": 8, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json index ac21376b0f3..1171dff7bb0 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json @@ -4,6 +4,7 @@ "end": 8, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json index ee638a35262..63ca227cb60 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json @@ -4,11 +4,13 @@ "end": 3, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "JSDocUnknownType", "pos": 1, "end": 2, "flags": "JSDoc", - "modifierFlagsCache": 0 + "modifierFlagsCache": 0, + "transformFlags": 0 } } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json index da601ac28dd..089709f0ca1 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json @@ -4,6 +4,7 @@ "end": 8, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json index 54a20c1bd3d..19efd2d3d48 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json @@ -4,6 +4,7 @@ "end": 3, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "length": 0, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json index b12aef4af5d..abbe1ac213c 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json @@ -4,6 +4,7 @@ "end": 6, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 5, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json index f0942a84957..ae93512585c 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json @@ -4,6 +4,7 @@ "end": 14, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 13, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json index fcd0ce2a40e..ac6ffce27b7 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json @@ -4,6 +4,7 @@ "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 6, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, @@ -27,6 +29,7 @@ "end": 10, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 6, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json index cac21bf57a7..4b4aaac19fb 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json @@ -4,6 +4,7 @@ "end": 19, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 14, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, @@ -35,6 +37,7 @@ "end": 18, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 14, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json index 265422f1975..6b74491eff1 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json @@ -4,6 +4,7 @@ "end": 19, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 6, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, @@ -27,6 +29,7 @@ "end": 18, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 6, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json index 4c695f884f4..4bcda10cf31 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json @@ -4,6 +4,7 @@ "end": 27, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 14, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, @@ -35,6 +37,7 @@ "end": 26, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 14, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json index 017274dc0a6..42ce502e7ec 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json @@ -4,6 +4,7 @@ "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 10, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json index 5e686623252..8e069030339 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json @@ -4,6 +4,7 @@ "end": 19, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "0": { "kind": "Parameter", @@ -11,6 +12,7 @@ "end": 18, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 10, @@ -27,12 +29,14 @@ "end": 18, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "FirstNode", "pos": 15, "end": 18, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "left": { "kind": "Identifier", "pos": 15, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json index 5d6caa1c2ab..595ae4b849f 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json @@ -4,6 +4,7 @@ "end": 14, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "types": { "0": { "kind": "NumberKeyword", diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json index 29a5c33f01e..506f103861f 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.trailingCommaInRecordType.json @@ -4,6 +4,7 @@ "end": 5, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "members": { "0": { "kind": "PropertySignature", @@ -11,6 +12,7 @@ "end": 4, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "name": { "kind": "Identifier", "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json index cde663ed573..2f460044502 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsConstructorType.json @@ -4,6 +4,7 @@ "end": 17, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "length": 0, "pos": 6, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json index a7162e27e4f..2d2d81d6023 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tsFunctionType.json @@ -4,6 +4,7 @@ "end": 13, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "parameters": { "length": 0, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json index 0c39aed310f..61631cabce4 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json @@ -4,6 +4,7 @@ "end": 3, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementTypes": { "length": 0, "pos": 2, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json index 78d6a54ae27..c8373fe5e87 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json @@ -4,6 +4,7 @@ "end": 9, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementTypes": { "0": { "kind": "NumberKeyword", diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json index a40d8720501..78875855840 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json @@ -4,6 +4,7 @@ "end": 16, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementTypes": { "0": { "kind": "NumberKeyword", diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json index a204f66ac68..c1b537d2945 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json @@ -4,6 +4,7 @@ "end": 24, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementTypes": { "0": { "kind": "NumberKeyword", diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json index 15978b23a42..b859519b8da 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleTypeWithTrailingComma.json @@ -4,6 +4,7 @@ "end": 10, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "elementTypes": { "0": { "kind": "NumberKeyword", diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json index 40586c94c27..20459258735 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeArgumentsNotFollowingDot.json @@ -4,6 +4,7 @@ "end": 4, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json index 705f95e84d0..dd8fd9f4c1b 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeOfType.json @@ -4,6 +4,7 @@ "end": 9, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "exprName": { "kind": "Identifier", "pos": 7, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json index d6b6cdbaac8..0ed013799e7 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json @@ -4,6 +4,7 @@ "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json index 98c16e1cfbd..43f0cec8d82 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json @@ -4,6 +4,7 @@ "end": 18, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "Identifier", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json index e42e2a1e072..488c2d027ab 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json @@ -4,12 +4,14 @@ "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "typeName": { "kind": "FirstNode", "pos": 1, "end": 11, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "left": { "kind": "Identifier", "pos": 1, diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json index d283f070e58..0ae2d950213 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json @@ -4,12 +4,14 @@ "end": 16, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "UnionType", "pos": 2, "end": 15, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "types": { "0": { "kind": "NumberKeyword", diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json index 86128b019fb..b68503ba281 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json @@ -3,5 +3,6 @@ "pos": 1, "end": 2, "flags": "JSDoc", - "modifierFlagsCache": 0 + "modifierFlagsCache": 0, + "transformFlags": 0 } \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json index 28635296637..120a6da66c5 100644 --- a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json @@ -4,6 +4,7 @@ "end": 10, "flags": "JSDoc", "modifierFlagsCache": 0, + "transformFlags": 0, "type": { "kind": "NumberKeyword", "pos": 4, From d3e23884c44ae0567633c5dce77d02a17eb0cafa Mon Sep 17 00:00:00 2001 From: Benedikt Meurer Date: Thu, 7 Feb 2019 20:39:03 +0100 Subject: [PATCH 21/21] Fix linter warnings. --- src/compiler/utilities.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index bcaa4d54285..f56851439ce 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -3791,8 +3791,8 @@ namespace ts { } export function getModifierFlags(node: Node): ModifierFlags { - if (node.modifierFlagsCache! & ModifierFlags.HasComputedFlags) { - return node.modifierFlagsCache! & ~ModifierFlags.HasComputedFlags; + if (node.modifierFlagsCache & ModifierFlags.HasComputedFlags) { + return node.modifierFlagsCache & ~ModifierFlags.HasComputedFlags; } const flags = getModifierFlagsNoCache(node);